A Better API for the Intersection and Mutation Observers

Zell discusses refactoring the Resize, Mutation, and Intersection Observer APIs for easier usage, demonstrating how to implement callback and event listener patterns, while highlighting available options and methods.

A Better API for the Intersection and Mutation Observers originally published on CSS-Tricks, which is part of the DigitalOcean…

Using CSS Cascade Layers With Tailwind Utilities

Being the bad boy I am, I don’t take Tailwind’s default approach to cascade layers as the “best” one. Over a year experimenting with Tailwind and vanilla CSS, I’ve come across what I believe is a better solution.

Using CSS Cascade Layers With Tailwind Utilities originally published…

Lightly Poking at the CSS if() Function in Chrome 137

The CSS if() function was recently implemented in Chrome 137, making it the first instance where we have it supported by a mainstream browser. Let’s poke at it a bit at a very high level.

Lightly Poking at the CSS if() Function in Chrome 137 originally published on…

Poking at the CSS if() Function a Little More: Conditional Color Theming

The CSS if() function enables us to use values conditionally, but what exactly does if() do? Let’s look at a possible real-world use case.

Poking at the CSS if() Function a Little More: Conditional Color Theming originally published on CSS-Tricks, which is part of the DigitalOcean family….

KelpUI

KelpUI is new library that Chris Ferdinandi is developing, designed to leverage newer CSS features and Web Components. I’ve enjoyed following Chris as he’s published an ongoing series of articles detailing his thought process behind the library, getting deep into his approach. You really get a…

CSS Blob Recipes

Blob, Blob, Blob. What’s the most effective way to create blob shapes in CSS? Turns out, as always, there are many. Let’s compare them together!

CSS Blob Recipes originally published on CSS-Tricks, which is part of the DigitalOcean family. You should get the newsletter….

Better CSS Shapes Using shape() — Part 3: Curves

This is the third article in a series about the CSS shape() function. We’ve covered drawing lines and arcs in previous articles and, this time, we look specifically at the curve command and how to use it for drawing complex shapes.

Better CSS Shapes Using shape() —…

Exploring the CSS contrast-color() Function… a Second Time

The contrast-color() function doesn’t check color contrast, but rather it outright resolves to either black or white (whichever one contrasts the most with your chosen color). Safari Technology Preview recently implemented it and we explore its possible uses in this article.

Exploring the CSS contrast-color() Function… a Second Time…

Getting Creative With HTML Dialog

So, how can you take dialogue box design beyond the generic look of frameworks and templates? How can you style them to reflect a brand’s visual identity and help to tell its stories? Here’s how I do it in CSS using ::backdrop, backdrop-filter, and animations.

Getting Creative…

Better CSS Shapes Using shape() — Part 2: More on Arcs

This is the second part of a series that dives deep into the CSS shape() command, continuing with a more detailed look at the arc command.

Better CSS Shapes Using shape() — Part 2: More on Arcs originally published on CSS-Tricks, which is part of the DigitalOcean family….