CSS: Weekly Summary (November 10-16, 2025)
Key trends, opinions and insights from personal blogs
I’d say last week felt like a tidy little packet of CSS news. Some of it is neat and useful right now. Some of it feels like a seed that’ll bloom later. The pieces fit together in a way that made me think about two things mostly: how CSS is quietly getting more power (and less hacky) and how folks still care about tiny details — accessibility, performance, and little visual flourishes. I would describe them as small, steady nudges toward cleaner patterns. To me, it feels like watching a well-used tool get a few new attachments. Not flashy. Handy.
The week, by date and theme
11/10 had the quiet but focused posts. Sara Jakša wrote about forced colors and making a button look like a link even when users have strong accessibility overrides. Luna Nova shared a clever starfield made with SVG and CSS. ReedyBear offered practical CSS for better post lists on BearBlog.
11/11 brought a couple of neat improvements that feel like small wins — Trevor Lasn on ::details-content and Ana with a more personal piece about giving talks and modern CSS.
11/12 had a mix: Chris Ferdinandi on Kelp (a thing that trims HTML/CSS overhead), Una Kravets on upgraded style queries in Chrome, and again Trevor Lasn describing new interest pseudo-classes.
11/13 was the heavy-featuring technical day: Amit Merchant on the new corner-shape property and Bramus on a Chrome change that lets width/height animations skip the Main Thread sometimes.
Those are the posts. But I want to pull out the threads. There’s the technical newness (corner-shape, style queries, interest pseudo-classes, ::details-content). There’s performance and browser behavior (width/height animations). And there’s the human side — accessibility, tiny UI polish, and even the one about giving talks. They aren’t separate islands. They talk to each other, if you squint.
Shapes and corners — more than border-radius
Amit Merchant wrote about corner-shape. Now, this one is the kind of feature you don’t notice until you need it. Border-radius has been the one-stop shop for rounded corners for ages. But you know how sometimes you want something between a circle and a square — a squircle — or a scoop, or a little notch? Corner-shape lets you sketch those corners directly. You write one rule and the corner behaves the way you expect. I would describe it as: finally, the corner gets its own vocabulary.
The practical upshot is less fiddly SVG work or layered masking just to get a corner that looks a certain way. Amit talks about fallbacks and progressive enhancement, which matters. Because while corner-shape is handy, not everyone will have it in their browser yet. So you still need a fallback plan. It’s a bit like when a kitchen appliance arrives that does three jobs; you still keep your old knife around for some tasks. The nice thing is that corner-shape plays well with existing properties. That makes it feel less like a radical rewrite and more like a careful upgrade.
If you’re into visual details, this is worth a closer look. Amit’s examples make you want to try a few squircles on cards and buttons. If you’re not, well — you’ll notice when someone else’s site finally drops that subtle, neat corner and it just looks right.
Queries that behave like ranges — style queries grown up
Una Kravets covers a Chrome 142 upgrade that improves style queries. Think of style queries as a cousin to media queries but for more granular state or size checks. The upgrade here is range syntax and comparison operators. So instead of clinging to single breakpoints, you can say: act when a value is between A and B, or greater than X.
I’d say this feels like the browser starting to agree with how people actually design. Instead of stitching together a bunch of breakpoints like a coat made from odd patches, you can declare ranges that match real UI behavior. Unpredictable content sizes? Responsive components that need state-aware behavior? This helps.
Una shows examples — weather cards, grid positioning — little real-world snippets that make the feature feel concrete. It’s a tidy improvement. It’s the kind of thing that won’t make headlines, but it will quietly make components easier to write and harder to break.
New pseudo-classes that speak user interest
Trevor Lasn wrote two pieces that caught my eye. One is about ::details-content, and the other covers :interest-invoker and :interest-target pseudo-classes.
::details-content is satisfying because it removes a tiny markup pain. Before this, styling the content inside a
The interest-* pseudo-classes are more experimental but more interesting in a bigger way. They allow CSS to express relationships between elements based on user interest — hover, focus, or other intent signals — without JS glue. That means tooltips that style their anchor, navigation that highlights related items, or UI that reacts to a focused area with purely CSS logic. Trevor notes these are accepted by the CSS Working Group but not in browsers yet. Still, just the thought of reducing JS fluff for simple interactive behaviors is appealing.
To me, these two posts together say something like: the web is cleaning up its markup->style contracts. Less wrapper divs, fewer tiny scripts. The codebase feels lighter as a result.
Animations and the Main Thread — a small performance reprieve
Bramus reported an intriguing change in Chrome Canary: under the right conditions, animating width or height doesn’t have to force a Main Thread animation. That’s a mouthful, but the implication is simple. When animations run on the Compositor, they avoid layout steps that can be expensive. Historically, animating width/height meant Layouts were re-run and the Main Thread got busy. Now, if the values don’t change layout in a meaningful way during the animation, the browser may keep things off the Main Thread.
I would describe the effect as: smoother, less janky animations in some cases. It doesn’t magically fix everything, and the blog post is careful about the conditions. But even so, it’s like getting small highway improvements rather than a new motorway. You still need to design carefully, but some common animation patterns suddenly become safer.
Bramus points out the implications for View Transitions too. If these compositor optimizations land more broadly, we might see more creative transitions without the usual performance fear. That nudges design choices. People will try bolder effects because the cost is lower. That’s the sort of slow, practical progress I like.
Accessibility that actually respects user choices
Sara Jakša wrote a piece that’s short but solid. She tackled how to make a button look like a link even when users are in forced colors mode — the kind where people set strong contrast or custom colors for readability. This isn’t a glam topic, but it matters. Users with specific visual needs should still get the right visual cues. Links need to read like links.
Sara gives a snippet and explains the reasoning. The take is practical: respect user color settings, but let your intent (a button that looks like a link) survive those settings. It’s a fine line. To me, it feels like caring for the small, human side of web design. This is the sort of detail that separates a website that’s merely usable from one that feels thoughtful.
Little things that make sites feel polished
There were several posts that leaned into polish and small projects. Luna Nova shared a layered SVG/CSS starfield that changes a tiny bit each page load. It’s playful. It’s the kind of background you notice only when you look twice, and then it sticks in your head. The technique is three layers with different star sizes and colors. It’s not heavy. It’s an easy way to add personality without sacrificing performance.
ReedyBear gave custom CSS for BearBlog lists. These are the very practical snippets that make small personal blogs look neat. The author warns about image and content quirks. That warning is the kind of human aside I like. It’s not snobby. It’s helpful.
Then there’s Chris Ferdinandi writing about Kelp. The tone is client-project practical. Kelp seems like a toolkit that trims repetitive HTML and reduces CSS. It gives components (tabs, forms) that handle AJAX updates without pulling in React or Vue. I’d say Kelp is for people who want interactive components without the heavy framework baggage. Sounds like a Swiss army knife for small projects — not a whole workshop.
There’s a pattern here. Folks are building small things that are pleasant to use and kind to performance. Starfields, BearBlog tweaks, and Kelp components all aim for a light footprint and a focused purpose. It’s like preferring a good bicycle to a gas-guzzling car for short trips.
The human bit — talks, impostor syndrome, and telling stories
Ana wrote a very human piece about talking at conferences and modernizing CSS. The post is personal and honest: the pressure of returning to work from maternity leave, the performance anxiety, and the slow acceptance of being visible. It’s not about syntax or properties, but it ties back to the ecosystem. When people talk about CSS, they bring personality. This reminded me that the tools and the people who use them are inseparable.
The narrative is gentle. The author reflects on authenticity, storytelling, and the struggle to be seen as competent while also being human. That’s something that posts about new properties don’t show. But it matters. It shapes how design patterns spread. If speakers feel safe being honest, the community benefits. If not, you get polished talks with little soul.
Where the posts agree and where they nudge in different directions
A few agreements pop up. Everyone seems to like less glue and fewer hacks. Corner-shape, style queries ranges, ::details-content, and interest pseudo-classes all reduce the need for extra markup, extra JS, or weird workarounds. That’s a small trend but it’s clear.
There’s also a common care for performance and accessibility. Bramus’s note about compositor-friendly animations shares the stage with Sara’s forced colors piece. The starfield and BearBlog tweaks show that visual treats can coexist with sensible performance choices.
A gentle disagreement, or maybe just different emphases, is between tooling and native features. Chris Ferdinandi champions Kelp for avoiding frameworks while keeping interactivity. Other pieces push native CSS to do more — interest pseudo-classes, corner-shape, and style queries. They’re not opposed. But you can read them as two paths to the same destination: less complexity. One path is a small library that wires things up for you. The other is the browser slowly taking on more responsibilities.
Both paths meet in the middle. If browsers ship these features, the need for small helper libraries shrinks. If browsers are slow, libraries fill the gap. Like a town with both a ferry and a bridge. Take whichever is there on the day you need to cross.
Tiny tangents that connect back
A small aside: the interest pseudo-classes reminded me of the days we’d scribble interactions on napkins in cafés. People wanted relationships between elements then too. The difference now is we can imagine doing it without JavaScript. That’s a quiet revolution, like learning you can make a good stew with just what’s in your larder.
Another tiny digression — corner-shape felt like vinyl record covers in their mid-century glory. Subtle curves, odd notches, a distinctive edge. Websites have been mostly square or rounded for a long time. This gives the web some more character. It’s not a big thing, but you notice it, like a good tune on the radio.
And the starfield? It made me think of train rides. You glance out the window and the stars seem random but patterned. Luna’s technique of three layers feels similar: separate elements, combined to feel organic. That approach is useful beyond visuals. Layering small, cheap techniques often beats one heavy-handed magic trick.
Practical takeaways — little habits worth trying
If you like hands-on stuff, try corner-shape in a progressive enhancement branch. Add a fallback. Tweak a button and see how a squircle changes the tone. It’s a small trial that pays off in vibe.
If you do component work, peek at the new style query range syntax. Rework a component breakpoint to use a range and you might stop fighting awkward intermediate sizes.
For accessibility: follow Sara’s forced-colors guidance the next time a button pretends to be a link. It takes two extra lines and saves someone a confusion.
If you build interactive micro-UIs, keep an eye on the interest pseudo-classes. They aren’t ready everywhere, but thinking about how your UI would work without JS is a healthy discipline. It will make your code clearer.
And if you animate widths and heights a lot, test in Chrome Canary like Bramus suggests. You might get smoother results without changing your design.
Final impressions
This week felt like tidy progress. Not a parade of huge shifts. More like someone quietly oiling the hinges, sanding the doorframe, and then polishing the doorknob. Everything works a little better. The posts together make a case for small, deliberate improvements instead of flashy rewrites.
If you’re the sort who likes to tinker, the posts are an invitation. Try a new corner. Rethink a breakpoint as a range. Respect a user’s forced colors. Layer a starfield. Or just breathe — the tools are getting friendlier. Read the authors for the little recipes and examples. Their posts are where the real code lives. The short versions here are just nudges to poke around and try stuff.
There’s a steady theme: less friction, more expressivity, a pinch of kindness. Keep an eye on browser support, but don’t wait forever. And if you ever feel unsure about showing what you made, remember the talk about being human on stage — the web needs both polish and personality.