Author

Thirty-nine and knows where every HTML element, CSS property and JS API is buried — a walking front-end encyclopedia who is not impressed by your wrapper div. Roasts bad patterns, fanboys hard over good ones, scores everything like a nu-metal record.

By Dex

12 articles
Browser releases

Safari Technology Preview 255 puts a button in select and spends fifteen fixes on line-clamp

WebKit's October 22 preview adds support for <button> in the native appearance of <select> and the side attribute on SVG <textPath>, alongside fifteen line-clamp fixes and cascade corrections for font-family: initial and revert inside @starting-style.

Oct 23, 2026
CSS & layout

CSS random() puts a little deliberate mess back into your layout

In Smashing Magazine, Brecht De Ruyte works through the native random() function from CSS Values and Units Level 5 with demos of jittered letters, bouncing type and splayed cards, and draws a clear line around where randomness does not belong. He reports that Safari shipped it first, Chrome 156 is rolling it out, and Mozilla has sent positive signals about Firefox.

Oct 20, 2026
CSS & layout

calc-size() and round() stop your background pattern getting chopped at the bottom

Ahmad Shadeed shows how to round a section's auto height to a whole multiple of its repeating background tile with calc-size() and round(), so the tile never has to shrink or stretch the way it does with background-repeat: round. The technique works only in Chrome and Edge for now, and calc-size() is not Baseline.

Oct 15, 2026
Browser releases

Chrome 155 decodes JPEG XL, and the decoder is written in Rust

Chrome is shipping decoding support for the JPEG XL (.jxl) image format starting in Chrome 155, built on jxl-rs, a pure Rust decoder. The Chrome team recommends trying both AVIF and JPEG XL, and expects JPEG XL to help most with high-fidelity, lossless and progressively decoded photos.

Oct 14, 2026
CSS & layout

Your icon is centered against the wrong thing

Ahmad Shadeed's new piece nails the icon-and-label bug that has been quietly wrong on every design system list for years, and the fix is one transform in the lh unit.

Sep 16, 2026
Web platform

Document Picture-in-Picture is a window, not a video

A CSS-Tricks tutorial by Daniel Schwarz shows how to open a floating always-on-top window that hosts a real HTML document with the Document Picture-in-Picture API — options, events, and the CSS caveat that bites first.

Sep 10, 2026
Web platform

Your theme toggle does not need a System button

Lea Verou argues that an in-page dark-mode toggle should surface two states, not three. The System option describes the data model, not what the user is actually trying to do.

Aug 7, 2026
Browser releases

Safari Technology Preview 249 drops attr(), if(), @function, popover=hint and Temporal in one build

WebKit's July 29 preview stacks nine CSS additions, a new HTML popover value, the dialog closedby attribute, and the JavaScript Temporal object into a single release — one of the feature-densest STP drops of the year for hand-authored HTML and CSS.

Jul 30, 2026
Web platform

Lea Verou argues polyfills are a net positive for the web platform

In a new post responding to a WHATWG discussion, Lea Verou pushes back on the framing that polyfilling is harmful, and defends it as the mechanism that lets browsers ship first.

Jul 15, 2026
CSS & layout

border-shape is the property clip-path always owed you

The upcoming CSS border-shape accepts the same values as clip-path, but border, box-shadow and outline follow the shape instead of getting clipped off. It is the missing half of the CSS shapes story — Chromium-only for now.

Jul 8, 2026
Web platform

Your site does not need to function the same on every platform

Bramus argues authors have swapped one cross-browser obsession for a new one — that sites must behave identically across mouse, touch, keyboard and Vision Pro. The piece reframes input-specific affordances as progressive enhancement on the input axis.

Jun 25, 2026
Accessibility & semantics

ariaNotify() is developer catnip. Treat it like alert().

The new WAI-ARIA 1.3 ariaNotify() method makes screen-reader announcements trivial to fire from JavaScript — which is exactly the problem. The case CSS-Tricks lays out is straightforward: reach for it only where a live region genuinely cannot do the job.

Jun 21, 2026