CSS: Weekly Summary (November 24-30, 2025)
Key trends, opinions and insights from personal blogs
This week in the small, lovely corner of the web where people tinker with CSS felt a bit like rummaging through a maker's shed. You find new screws, an old wrench, a friendly note, and a half-finished wooden birdhouse. Different posts picked up small, practical things, some neat layout tricks, and a couple of process stories. I would describe them as a mix of quick wins and little epiphanies. To me, it feels like sitting down with a cup of tea and swapping notes with folks who actually build stuff, not just theorise.
What people were fixing and celebrating
A steady theme this week was: small fixes that actually matter. Not flashy, but the kind of things that make a site feel less annoying. For instance, Bramus wrote about Chrome 144 and how overscroll-behavior: contain now works on non-scrollable scroll containers. That sounds like a tiny thing, but I’d say its impact is bigger than it looks. It directly stops the page from jumping when a dialog is open. Imagine you open a modal and the whole page decides to go for a stroll — that. This change means less fiddling with JS workarounds, and more CSS doing what it ought to do.
Then there was a short, tidy trick from Nick Heer about disabling pointer events on images that act as links, like those App Store badges. On iOS Live Text can grab at the text inside the image and make tap targets awkward. The suggested CSS is simple, and painfully useful. It’s one of those things you forget only until a user shows you the problem on their phone. Like a lid that doesn’t quite sit right on a pot, you notice only when the soup spills.
Amit Merchant dove into scrollbar-gutter to stop layout shifts when vertical scrollbars appear. Yes, the humble scrollbar. No drama, but it fixes that annoying nudge in textareas and pages when content grows. He shares a practical example of reserving space for the scrollbar so text doesn’t hop around. If you care about that tiny, annoying jump, this is gold.
These posts shared a tone. Practical, slightly impatient with flakiness, and happy to point at a one-line CSS fix that saves a lot of head-scratching later. I would describe them as the kind of advice you get over coffee from a friend who actually ships features.
Layout and new toys
A bigger thread was layout upgrades and new-ish CSS features. Josh W. Comeau wrote a nice piece on CSS Subgrid. If you havent played with Subgrid, think of it like extending a family table so the kids table lines up with the grownups table. Subgrid lets nested grids use the track sizes of their parent grid. That changes how you think about alignment across components that need to line up cleanly.
Josh gave examples and pointed out real world pitfalls. Browser support still matters, and he didn’t sugarcoat that. The piece reads like someone showing you where the nails go, but warning you that some of the planks are still drying. There are times when Subgrid makes layouts much cleaner, and other times when the old techniques still have to do the heavy lifting.
Relatedly, Stefan Judis highlighted the @scope feature and :scope in JavaScript in his Web Weekly. These ideas are about scoping styles properly and querying the DOM with more precision. It’s a reminder that CSS and JS keep exchanging little gifts. @scope is useful when you want styles to apply only inside a component without name-mangling. Little by little, the web is offering more tools for making components behave like well-mannered neighbours, not unruly house guests.
There was also a quick mention of CSS random() and some performance notes in Stefan’s roundup. Random() is one of those playful functions you might use for tiny visual variety, but performance and intent matter. Use it like sprinkles on a cupcake, not as the cake itself.
Visual polish, typography and theme play
A few posts took the view that small visual choices add up. Micah R Ledbetter reflected on typography, CSS, and the pleasure of doing things well. He compares learning typography to the patient art of wrapping paper. I’d say the analogy lands — choosing a font or deciding how text wraps is a bit like picking the right paper and fold for a present. It can be indulgent, but it makes the receiver smile.
On that note, David Isaksson wrote about dynamic images in Hugo for light and dark modes. He shared a shortcode that swaps images depending on the user’s color scheme and some CSS to keep things visible. He even mentioned using Excalidraw for diagrams and exporting both light and dark variants. Little workflow note: if you ever make diagrams that need to match both themes, think ahead. It saves time and looks thoughtful.
And then ReedyBear posted a theme placeholder. Not much meat there, just a temporary switch back to a theme after Christmas. Still, these theme posts are like seeing a builder return to an old bench and say, I’ll use this again for a while. It’s reassuring. We all come back to our favourites.
Tiny projects, experiments and the joy of building
There was a warm indie spirit in the week. James' Coffee Blog took part in a Create Day and made Validate Everything. It’s a little tool where you paste a URL and it offers links to validators. The twist was a playful CSS experiment to show or hide links based on whether the input looks like a valid URL. Nothing revolutionary. But it captures why many of us keep building things: the pleasure of a little utility that scratches an itch.
And shom.dev wrote an entertaining account called Anatomy of a yak-shave about dramatically reducing static site build time on a VPS. Along the way they learned CSS animation, CI/CD with Forgejo, and squashed dependency gremlins. This one had the feel of an afternoon fixing the house drain and discovering you could replace the whole thing for less money than you expected. There was friction, sure, but also the small victory of speed.
That makes a pattern: people are shipping small, focused tools and sharing the odd learnings. The posts are less about grand architecture and more about the craft. I would describe them as practical celebrations of the kind of tinkering that keeps the web fast, pleasant, and slightly less flaky.
Agreement and mild debate: compatibility, pragmatism, and where to use CSS
There was a gentle chorus on compatibility. Many authors praised new features but reminded readers to check browser support. Josh called out Subgrid advantages and the usual caveats. Bramus cheered Chrome for fixing a niggle, and politely asked other vendors to follow. No grand disagreements, just practical cautions.
One recurring idea: prefer CSS when the browser can handle it, but have fallbacks. That came up again and again. Use overscroll-behavior instead of JS where possible. Use scrollbar-gutter to avoid layout shifts instead of complex JS calculations. But also, don’t treat CSS as magic — know where it stops and a small script must pick up the slack.
There was also quiet emphasis on accessibility and user experience. The pointer-events fix for App Store badges is tiny, but it helps people tap links reliably. The scrollbar-gutter fix keeps content stable, which matters for anyone with low patience or a coffee in hand. These are not headline-grabbing moves, but they keep users from grumbling.
A few practical snippets worth bookmarking
If you like short, copy-paste wins, several of the posts had exactly that. I wont regurgitate exact code lines here, but points to peek at:
- A CSS snippet to stop page scroll when a dialog is open, made possible by new behavior in Chrome 144. Useful for modal UX. Look up Bramus for the exact snippet.
- Disable pointer-events on embedded link images to avoid Live Text interference on iOS. Tiny, but fixes a real user pain — see Nick Heer for details.
- Using scrollbar-gutter to reserve space for scrollbars, so text or content doesn’t shift when the browser adds a scrollbar. Amit explains why it helps, and how it saved him from frustration.
- Examples and warnings about when Subgrid makes life easier and when it still trips over support. Josh lays this out with practical cases and gotchas.
- A shortcode trick for Hugo that swaps images per color-scheme, and a note about exporting diagrams for both themes — check David Isaksson for that workflow.
These are the kinds of things you learn and then quietly keep in a snippets file. Like finding the right hammer head for a tiny nail.
Style, craft, and the small joys
Several posts leaned into the creative side of CSS. Micah talked about typography and how small choices lift a site. David fussed with dark mode images and diagrams. James showed the simple delight of making a mini-tool that helps others. These pieces felt less like tutorials and more like postcards saying: it was fun to make this, and you might like it too.
There is a rhythm to these posts. A problem appears, someone fiddles, they share the fix, and others nod and tuck it into their mental toolbox. It echoes a community approach that relies on sharing rather than reinventing. That makes the week feel neighbourly. If CSS were a neighbourhood bake sale, these would be the pies everyone brings — varied sizes, mostly good, and you probably want to try each one.
Little qualms and tangents you might miss
A couple of minor grumbles showed up. Authors were sometimes annoyed by browsers lagging behind on support. There is also a soft sigh at the need for occasional JS when CSS cant quite do the job. And there was a small rant-level affection for fighting build times and dependency issues, as in the yak-shave tale.
There were also tiny tangents that were oddly charming. The blog theme placeholder that promised a return after Christmas — that little seasonal nod made me smile. The wrapping paper analogy from Micah was a detour, but it’s the kind of detour that helps you see why typography feels important. These digressions make the reading tactile. Theyre short, theyre human, and they connect.
Where to look if you want to dig in
Want the code? The little examples? The precise CSS lines? Each post mentioned here has the good stuff. If you care about layout alignment and component grids, read Josh W. Comeau. If you want the practical one-liners that stop your page from doing something embarrassing, see Bramus, Nick Heer, and Amit Merchant. For theme-and-design thoughts and how to handle dark and light variants of images, check David Isaksson. The small projects and process reads come from James' Coffee Blog and shom.dev. Micah for typography feels, and ReedyBear for a quick theme checkpoint.
I’d say this week was not about a single big idea. It was about a bunch of small, useful ones. Like a collection of good socks after laundry day — nothing revolutionary, but everything slightly better for having been sorted. You might find a snippet that saves you ten minutes or a new feature that changes how you think about alignment.
If you flip through the posts, youll find concrete tips, a few new CSS features to watch, and some nice process notes. The kind of reading that nudges you back to your editor or sketches a better component layout that afternoon. There is enough here to tinker with for a week or two, or to stash away for the next time a scrollbar or a modal causes mischief.
So if you feel like poking around, these posts are friendly doors. Take a peek, borrow a trick, and maybe leave a reply saying thanks. The web keeps getting tidier, one small fix at a time.