Distinguishing “Components” and “Utilities” in Tailwind
Here’s a really quick tip. You can think of Tailwind utilities as components — because you can literally make a card “component” out of Tailwind…
Here’s a really quick tip. You can think of Tailwind utilities as components — because you can literally make a card “component” out of Tailwind…
Confession time: I’ve read about the performance benefits of scroll-timeline(), but when I see an impressive JavaScript scrollytelling site like this one, it makes me…
Interop 2026 is formally a thing. So, you know all of those wild, new CSS features we’re always poking at but always putting under a…
This issue of What’s !important is dedicated to our friends in the UK (aka me), who are currently experiencing a very miserable 43-day rain streak.…
In the previous article, we built the classic hexagon grid. It was a responsive implementation without the use of media queries. The challenge was to…
You have an element with a configurable background color, and you’d like to calculate whether the foreground text should be light or dark. Seems easy…
Speaking of charts… When was the last time you had to use a pie chart? If you are one of those people who have to…
New CSS features can sometimes make it easier and more efficient to code designs we already knew how to create. This efficiency could stem from…
Creating your theme is the fun part. After you’re done, the next step is to publish your theme so you — and others — can…
Years ago, when I read Sarah Drasner’s article on creating a VS Code theme, I silently thought to myself, That’s a lot of work… I’m…
Neither Chrome, Safari, nor Firefox have shipped new features in the last couple of weeks, but fear not because leading this issue of What’s !important…
Chrome 144 recently shipped ::search-text, which is now one of several highlight-related pseudo-elements. This one selects find-in-page text, which is the text that gets highlighted…
We all have a few skeletons in our CSS closets. There’s probably that one-off !important where you can now manage that more effectively with cascade…
I was building a Modal component that uses the <dialog> element’s showModal method. While testing the component, I discovered I could tab out of the…
Five years ago I published an article on how to create a responsive grid of hexagon shapes. It was the only technique that didn’t require…