scrollbar-gutter: The Layout Shift You Blamed on Everything Else
Content jumps sideways when navigating between short and long pages because the scrollbar appears and steals width. One property reserves the space permanently.
Step-by-step programming tutorials on PHP, JavaScript, Laravel, WordPress and more.
Content jumps sideways when navigating between short and long pages because the scrollbar appears and steals width. One property reserves the space permanently.
The soft fade at the bottom of a collapsed article, scroll hints on overflowing tabs, icon recoloring from a single SVG - all one property that composites with gradients.
Slanted section dividers, circular image crops, magazine-style text wrap around a portrait - two properties cover the layout tricks everyone assumes need images.
A fixed header readable over every hero image, duotone photos without Photoshop, highlight effects that multiply like a real marker - blend modes, and the isolation property that keeps them caged.
Darker-on-hover, tinted backgrounds, borders derived from the brand color - color-mix computes them in the browser from one source color, and your theme stops needing a palette generator.
CSS variables can chain fallbacks, expose component APIs and scope themes - and they fail in a uniquely confusing way that every serious user needs to understand once.
margin-left breaks the moment your site meets Arabic or Hebrew. Logical properties describe direction-relative intent - and they are more ergonomic even if you never localize.
padding-top: 56.25% wrapped in a positioned div was how we faked 16:9 boxes for fifteen years. One property replaces the whole contraption - and prevents layout shift while it's at it.
The browser parses nested CSS without any build step. The syntax is almost Sass - the differences, the & rules, and the over-nesting trap are what matter.
:is() collapses repetitive selector lists, :where() does it with zero specificity - which turns out to be the secret to CSS that is easy to override.
A card in a sidebar and the same card full-width need different layouts - media queries cannot tell them apart. Container queries finally let components respond to their own space.
document.startViewTransition snapshots your page, lets you mutate the DOM, and animates between the two states - list reorders and theme switches suddenly look expensive.