All Together Now – CodePen
Jump to Docs Navigation
Individual fresh CSS features can be amazing, but I always say it’s the most impressive when they go together. Adam Argyle knocked one out of the park with his modestly named Nice Select post & demo. His own post lists all the CSS features that went into it, but I’ll do a quick overview.
- The core of it is these are “Custom Selects” meaning a native element with appearance: base-select applied. That unlocks the ability to essentially style any part of it any way you want. (By the way, multi-selects are very close now too.)
- The opened menu is positioned with anchor positioning and have great edge-detection fallbacks.
- The menus animate both opening and closing thanks to @starting-style and allow-discrete transitions.
- The scrolling menus have slightly customized scrollbar styles and a subtle animation where the fade in from the edges via a view() style scroll-driven animation.
- Logical properties, color schemes, and user preferences are used so users needs are taken into account.
- The headers within the menus are sticky with custom styling when stuck.
And honestly, a whole bunch more. Perhaps on their own, each of these features is like hey, that’s kinda neat, but when you start looking at all these CSS improvements combined, you can see how wildly powerful CSS has become. You might say CSS has become a much more intelligent language.
What do we still want from CSS? It’s getting harder to think of entirely fresh features that don’t have any thought put into them at all yet. For instance, Nathan Knowler’s 2026 CSS Wishlist is all stuff that is either here or coming already, and the wish is how they turn CSS into a more cohesive system. Me, I still really want margin-trim supported everywhere, and my 2023 list still had some stuff I’d take. Oh, and I’d take like ::before-end / ::before-begin / ::after-end / ::after-begin so we’d have both more and more-placeable pseudo elements that mimics insertAdjacentHTML. Or infinite.
Ya know how there used to be lists and roundups and stuff that were like “Stuff you don’t need JavaScript for anymore!!!!!”? I love those, obviously, but I feel like we don’t see them quite as much anymore because HTML and CSS have damn near got it covered now. Like if you absolutely need JavaScript for something, it’s like, yes, that’s JavaScript territory. It’s not for things that we’re only leaning on JavaScript for because of it’s power to measure things or detect visibility or handle events. We’ve gotten the heart of those things in CSS now.
Just a few of those as a taste…
It’s almost like CSS is evolving specifically to do things we once needed JavaScript for.
