One of Those “Onboarding” UIs, With Anchor Positioning

We can anchor one element to another. We can also attach one element to multiple anchors. In this experiment, Ryan riffs on those ideas and comes up with a new way to transition between two anchors and the result is a practical use case that would…

Alt Text: Not Always Needed

Most images require description for clarity, there are exceptions. This set of notes looks at different situations and contexts where alt text may not be needed and what to do in those cases.

Alt Text: Not Always Needed originally published on CSS-Tricks, which is part of the…

Solved by CSS: Donuts Scopes

Donut scoping addresses the challenge of preventing parent styles from leaking to nested content. Originating from a 2011 concept by Nicole Sullivan, the issue has evolved, culminating in 2024’s @scope at-rule. This allows for more precise CSS styling, safeguarding content from unwanted inheritance while managing global…

Invoker Commands: Additional Ways to Work With Dialog, Popover… and More?

Web browsers are experimenting with two HTML attributes — technically, they’re called “invoker commands” — that are designed to invoke popovers, dialogs, and further down the line, all kinds of actions without writing JavaScript. Although, if you do reach for JavaScript, the new attributes come with…

Adding Box Shadows to WordPress Blocks and Elements

The CSS box-shadow and outline properties gained theme.json support in WordPress 6.1. Let’s look at a few examples of how it works in real themes, and what options we have to apply these styles to WordPress blocks and elements. Adding Box Shadows to WordPress Blocks and…

CSS Infinite and Circular Rotating Image Slider

Image sliders (also called carousels) are everywhere. There are a lot of CSS tricks to create the common slider where the images slide from left to right (or the opposite). It’s the same deal with the many JavaScript libraries out … CSS Infinite and Circular Rotating…

Digging Deeper Into Container Style Queries

I wrote up some early thoughts on container style queries a little while back. It’s still early days. They’re already defined in the CSS Containment Module Level 1 specification (currently in Editor’s Draft status) but there’s still a couple of … Digging Deeper Into Container Style…

Using The New Constrained Layout In WordPress Block Themes

One of the main goals of the WordPress Site Editor (and, yes, that is now the “official” name) is to move basic block styling from CSS to structured JSON. JSON files are machine-readable, which makes it consumable by … Using The New Constrained Layout In WordPress…