CSS is about to get functions, custom border shapes, and a fix for tab order

The Future of CSS

CSS is about to get functions, custom border shapes, and a fix for tab order

Browser vendors are planning Interop 2027, and Mozilla built a public ranking site so developers can vote on which features get prioritized. Josh W. Comeau walks through his top picks: user-defined CSS functions with @function, corner-shape for bevels and squircles, border-shape for drawing custom outlines, anchored container queries that detect flipped tooltips, an inherit() function that lets you modify inherited values with calc(), scroll-triggered animations, and reading-flow/reading-order to fix tab order in responsive layouts.

This feels pretty "science-fiction" to me, but it's already implemented in Chromium browsers, and if it gets added to Interop 2027, I think there's very good odds that it could become widely available sooner rather than later!
  1. paczki

    As someone who actively goes out of my way to stick to writing vanilla HTML/CSS/JS as much as possible, it's honestly hard to explain to people who only write within frameworks how good it's gotten. Use the proper tool for the job, of course, but it sparks joy!

  2. fodkodrasz

    Wow even more fancy border styles! Infinite complexity for useless eyecandy. Date pickers are still barely working, last time i needed to build a touch optimized interface (gloves, industrial setting) with date picker, time picker, and numeric up/down style input fields it needed custom components and js...

    But who needs these, when we can have bezel and whatnot...

    Who needs ways to reliably trigger the display of the touch platform-native keyboard, to be notified if it is displayed and to move the input field in view so it is not obscured by the keyboard?

    This is why the web is a terrible platform compared to Windows Forms for getting stuff done. Because those making the standards only work on creating gimmicks.

  3. CharlesW

    Since I’m in before the negativity: I love CSS! For whatever reason, it’s always made sense to me. I have great respect for everyone with the tenacity to push on improvements that might take 5-10 years to be in common use, if at all.

  4. 4b11b4

    Good to see Josh writing, especially after his courses have taken such a hit. He is excellent. As an electrical engineer and also now CS grad and someone who has purchased his courses wanting to be able to work across the entire stack.. yet have also thought "thank god I don't really have to learn css" now (yes, due to increasing model performance).

    On that note I may know just enough to be dangerous thanks to Josh (casting spells: e.g. shouldn't we group those in their own container and then within that container shouldn't that be a flex box?). I guess I'm here to say humans are full of contradictions.

  5. afavour

    I’m part of the seeming minority that really enjoys working with CSS. And the way I use it today is so different than I did a few years back, e.g CSS modules, declaring a palette with variables then changing it for dark mode… it’s genuinely great to work with.

  6. markasoftware

    I know this post isn't about vibecoding frontends, BUT...

    Many of my coworkers and friends are rejoicing that they don't have to write frontends anymore. I actually think that frontends are the last thing that should be vibecoded. It's the part that faces the user. It's what helps the user form their first impression of your product. If your landing page looks like it was made in 30 seconds by Claude, they'll assume the rest of your product was too. Use AI assistance on the parts of your codebase where only raw functionality matters (eg, the backend), and put real human effort and care into the frontend that reflects the effort put into the rest of the system.

  7. watersb

    The discussion here reminded me of one of my favorite demos, someone live coding Qt5 and QML on a first a generation Raspberry Pi, 1080p HDMI. Sort of a mashup of CSS and JavaScript for simple shaders. Fourteen years ago.

    https://youtu.be/0j-Wakm5B84?is=7dU_EvFyk_nQNwjO

    It's like a peek into a CSS future from a different timeline. Something we could have had.

  8. alberth

    Maybe I’m alone, but all of those suggestions seem to make CSS needlessly complex (or more like JS).

    Especially functions.

    Makes me think of a previous post from the author, who wrote 100k lines-of-code to power their blog.

    https://www.joshwcomeau.com/blog/how-i-built-my-blog-v2/

More from this day

2026-10-21