CiTN

How To Blog Posts

May 26, 2026 | 8:49 am

This isn’t totally about AI. It’s about technical writing in the age of AI. I have some thoughts on this and I hope it’s helpful to you humans reading.


Technical Writing in the AI Age originally handwritten and published with love on CSS-Tricks. You should really get the newsletter as well.


May 25, 2026 | 8:46 am

Every view-transition-name on a page must be unique. The problem is that every pseudo-element selector in your CSS targets a specific name, so your animation styles explode into an unmanageable wall of selectors.


Cross-Document View Transitions: Scaling Across Hundreds of Elements originally handwritten and published with love on CSS-Tricks. You should really get the newsletter as well.


May 25, 2026 | 7:00 am
There’s a moment in almost every usability session where a participant pauses at the login screen, types something, and glances up: checking whether they’re “doing it right.” That pause is a clear sign. They’ve already clocked that this isn’t a real app, and every data point collected after that moment is filtered through that awareness.

May 22, 2026 | 8:44 am

Despite the countless number of online resources, it’s easy to get confused when trying to center an element. There are documented solutions, but do you really understand why the code you picked works? Let's look at the current state of centering options today in 2026.


The State of CSS Centering in 2026 originally handwritten and published with love on CSS-Tricks. You should really get the newsletter as well.


May 22, 2026 | 8:00 am
What people say, feel, think, and do are often very different things. To understand the underlying reasons for user behavior, it helps to look beyond the surface and explore hidden motivations, root causes, and the different layers of reality that shape how people act. Brought to you by Measuring UX Impact, **friendly video course on UX** and design patterns by Vitaly.

May 21, 2026 | 3:00 am
Meet `sibling-index()` and `sibling-count()`. Staggered cascade effect in one line of CSS without `:nth-child()` rules or JS workarounds. Works for 5 items or 5,000.

May 20, 2026 | 8:51 am

It still hits like a ton of bricks to see the steep decline in Stack Overflow questions. What does that mean about learning in our industry?


Stack Overflow: When We Stop Asking originally handwritten and published with love on CSS-Tricks. You should really get the newsletter as well.


May 18, 2026 | 8:47 am

This is Part 1 of a two-part series about cross-document view transitions, going over all the gotchas, from ditching the deprecated way to opt into them to a little-known 4-second timeout.


Cross-Document View Transitions: The Gotchas Nobody Mentions originally handwritten and published with love on CSS-Tricks. You should really get the newsletter as well.


May 15, 2026 | 8:16 am

If 3D voxel scenes (that you can style), flying focus animations, or new CSS syntaxes sound like your kinda thing, then this issue of What’s !important is definitely for you.


What’s !important #11: 3D Voxel Scenes, Flying Focus, CSS Syntaxes, and More originally handwritten and published with love on CSS-Tricks. You should really get the newsletter as well.


May 15, 2026 | 5:00 am
Every extra second of friction has a measurable business cost. Carrie Webster shares ten data-backed UX facts that link user experience directly to revenue, retention, and long-term growth.

May 14, 2026 | 9:05 am

A clever use of CSS to calculate and display a discounted product price by providing a base price and discount amount, featuring modern CSS features like attr(), mod(), and round().


Computing and Displaying Discounted Prices in CSS originally handwritten and published with love on CSS-Tricks. You should really get the newsletter as well.


May 13, 2026 | 9:36 am

The rotateX() function rotates an element around the x-axis in a three-dimensional space


rotateX() originally handwritten and published with love on CSS-Tricks. You should really get the newsletter as well.


May 13, 2026 | 9:33 am

The rotateY() function rotates an element around its vertical y-axis.


rotateY() originally handwritten and published with love on CSS-Tricks. You should really get the newsletter as well.


May 13, 2026 | 9:33 am

The rotateZ() function rotates an element around its z-axis, so clockwise or counterclockwise.


rotateZ() originally handwritten and published with love on CSS-Tricks. You should really get the newsletter as well.


May 13, 2026 | 9:32 am

The rotate() function spins an element either clockwise or counterclockwise in a 2D plane.


rotate() originally handwritten and published with love on CSS-Tricks. You should really get the newsletter as well.