Vue 2 required a single root element, so every component that logically returned two siblings had a wrapper div whose only purpose was satisfying the compiler. The dt…
A modal rendered inside a component is inside that component’s stacking context, so a parent with overflow: hidden or a transform clips it and no z-index helps. The…
Eleven patterns dropped into the default categories are eleven things an editor scrolls past, and the inserter is the only place they exist. Removing the core patterns is…
Eleven custom blocks that exist to produce one layout. 5.5 added patterns, which is the feature the blocks were being used for — and it needs no build…
One attribute replaces an IntersectionObserver and a library — and applying it to everything makes the Largest Contentful Paint worse rather than better.
A responsive card grid was a set of breakpoints each restating the column count, which is four rules describing one intention. The min(16rem, 100%) is the part usually…
Deferring offscreen images used to mean an IntersectionObserver, a data attribute and a library. It is now an attribute the browser understands. Applying it to every image with…
Dropping the width and height attributes was correct advice for a decade of responsive design, and it is what makes a page jump while it loads. Browsers now…
A theme value duplicated in a stylesheet and in a JavaScript constant is two sources of truth, and custom properties are readable and writable from both. The trim()…
An @include with eleven variables and no way to know which are required. A partial is a file rather than a contract, and 7.0 makes the constructor the…