✨ Have you ever heard of Disney’s 12 Basic Principles of Animation? The very first rule, “Squash and Stretch”, can make motion feel *way* more satisfying.
I just dropped a brand-new blog post that shows how I’ve been using this technique in my own work:
www.joshwcomeau.com/animation/sq...
Posts by Katherine Kato
A demonstration of the same gradient defined as a light blue to fuschia gradient, with 5 different color interpolation methods. From left to right, srgb, which kind of muddies the blended colours in the middle to a light pastel purple, lch, which moves seems to move to the blue colour quicker, not creating the purple muddiness, oklch, which does move through the purple but in a more subtle way, oklab, which remains more pink than anything, and hsl, which adds a very dark almost internet blue at the centre of the gradient
we don't talk enough about how cool the color-interpolation-method is in CSS gradients
all of these slices have the same gradient:
linear-gradient(#00ffff 0%, #ff00ff 100%)
each one is just using a different colour interpolation
TWC Extended Forecast in the classic 1990s vibe.
If you're like us, and you grew up with 1990s The Weather Channel, they've now got that available on their website.
Enjoy.
You're welcome.
weather.com/retro/
Real DOM content in a canvas: fully searchable, translatable, inspectable.
You can have forms, add WebGL effects & much more.
Imagine if this was a customizable select 🤯
A little WIP exploration (not finished) for a very exciting API.
github.com/WICG/html-in...
Just released heerich.js, a tiny voxel engine that renders 3D scenes to SVG
╬ Boolean ops
◮ Oblique & perspective
𝑥 Zero dependencies
◌ Pure vector output, infinite scaling
Named after Erwin Heerich's geometric cardboard sculptures.
meodai.github.io/heerich/
www.youtube.com/watch?v=jndl...
What's the best way to showcase modern CSS features? By making games!
This time it's the Dino Game 🦖 by @developer.chrome.com
css-tip.com/dino-game/
100% CSS magic playable with the keyboard. Yes, you can jump and crouch with the arrow keys! 👀
Don't search for the JS, there is none.
DOOM fully rendered in CSS. Every surface is a <div> that has a background image, with a clipping path with 3D transforms applied. Of course CSS does not have a movable camera, so we rotate and translate the scene around the user.
A tablet displaying the landing page for 'The Layout Maestro,' a practical CSS course by Ahmad Shadeed. The desk setup includes a cup of coffee, colorful pencils, and LEGO pieces, creating a bright and creative atmosphere.
After a year of building, The Layout Maestro is officially live! 🎹🥳
An interactive CSS course that teaches you how to think in CSS layouts. 70+ lessons, 7 layouts, 150+ interactive demos!
Ready to level up your layout skills? Enroll now👇:
thelayoutmaestro.com
Built a “3D” sphere (SVG) to show RYB transformations.
Over-iterated in @codepen.io
10% optimization, 90% procrastination.
codepen.io/meodai/full/...
✨ I just published a new blog post about a nifty lil’ animation technique: sprites!
Sprites are used all the time in video games, but they’re less common on the web. We do have the tools to manage it in CSS, but there’s a gotcha.
In this post, I share some of the cool use cases I’ve found:
i built an entire x86 CPU emulator in CSS (no javascript)
you can write programs in C, compile them to x86 machine code with GCC, and run them inside CSS
lyra.horse/x86css/
Richard Rutter helps you to make sense of list-style, list-item, ::marker, counters(), counter(), @counter-style, symbolic, symbols(), symbols and more to push your HTML and CSS lists to the next level.
piccalil.li/blog/an-in-d...
Out with :nth-child(), in with :sibling-index()! Just so satisfying to use.
* no Firefox yet
📣 NEW! I’ve just released the BIGGEST and perhaps most creative project I’ve ever worked on!
“Searching for Birds” searchingforbirds.visualcinnamon.com 🐤
A project, an article, an exploration that dives into the data that connects humans with birds, by looking at how we search for birds.
border-shape can handle both insets and outsets, so you can do effects like this chevron nav (corner-shape can't do both).
This means you get a perfectly-wrapping focus ring without needing to manage z-index or having it partially covered due to overlap.
Demo: codepen.io/una/pen/ByzY...
This border-radius transition 🤌🏽
Believe it or not, it's just CSS.
Wild how far you can push "customizable select" with just #CSS
nerdy.dev/nice-select
We'll be getting multiple outlines in #CSS!!
Multiple outlines means no more hacking our way around accessible and creative outline styles with box-shadows that aren't rendered in forced-colors mode! 🙌
Finally!! This is such great news!! 🎉🥳
Linked lists using anchor-positioning.
Adapted from my JS version which used SVG paths to this version which positions pseudo elements using position-anchor to link them to the checked checkbox items and current selected radio button.
See the full demo on @codepen.io codepen.io/cbolson/pen/...
My book, Accessibility For Everyone, is now free and online as a website.
accessibilityforeveryone.site
The book was first published by A Book Apart in 2017 but it holds up! It covers web accessibility for designers, developers, content folks, and really everyone who works in tech.
You can't nest interactive controls on the web, but you can fake it 'till you make it. @piccalil.li let me ramble on about how to do exactly just that, because they're champs. #a11y piccalil.li/blog/accessi...
Made a lil' library:
codepen.github.io/slideVars/
Automatically detects CSS custom properties on the :root/html and gives you controls for adjusting them. (But it's also as configurable as you want it to be.)
Ready for the first cool demo of the year?
A mini Mario world with keyboard control. Yes, you can move Mario and also jump! 👀
Demo: codepen.io/t_afif/full/... via @codepen.io
✔️ 100% CSS Magic
✔️ Minimal HTML
❌ 0% JavaScript
A Chrome-only experimentation using modern CSS.
Have you been wishing masonry layouts would just hurry up and arrive in CSS?? Well, happy holidays!
webkit.org/blog/17660/i...
I've set up a small monthly newsletter called Focus State.
With accessibility support shrinking in a lot of orgs, I wanted to create something that divides that gap, builds community, and makes the internet a bit more fun.
If you dig digital accessibility give it a look:
annaecook.com/newsletter
🎉 And we're live! 🎉
We just launched CSS Wrapped 2025: our annual recap of all things CSS & web UI that landed in Chrome over the course of the year. 🚀
This is a big one! We highlighted 22 new features to help you build better on the web.
Check out: chrome.dev/css-wrapped-2025