html

  • field-sizing, and a textarea that grows

    A textarea that resizes to its content, in one CSS declaration, replacing a script that had been copied between projects since 2016. The lh unit is what makes…

  • Anchor positioning, read and not used

    A CSS feature that solves a real problem, available in one engine, evaluated and deferred. The fallback syntax is the part that makes this genuinely better than the…

  • Import maps, and a page with no bundler

    Bare module specifiers resolved by the browser, which removes the last reason a small page needs a bundler. The import map is generated by the same script that…

  • A build with no bundler

    A site with 18 KB of JavaScript and a build pipeline sized for something larger. What a bundler provides, listed, and which of it is needed.

  • A CSS layer order declared once, at the top

    Specificity conflicts resolved by declaring the order of every layer in one place, before anything is defined. A single-class utility beating a component rule without !important is the…

  • Tailwind 4, and configuration that is a stylesheet

    A JavaScript configuration file replaced by CSS, which changes what the tool is rather than how it is set up. A configuration file in the language of the…

  • Tailwind 4, and the stylesheet we had already written

    4.0 in January, a CSS-first configuration, and a genuine reason to look again at a decision that had been made three times.

  • @theme, and the custom properties we already had

    Tailwind 4 configures itself in CSS, which turns out to be the same idea as the token file we generate. The two are the same mechanism with different…

  • Interactivity, and the JavaScript we stopped shipping

    6.5 ships a shared runtime, and our blocks each carry their own script. 140 KB of JavaScript on a page with four interactive blocks.

  • The font library, and the licences nobody had checked

    6.5 in April, fonts become something an editor can install, and a site with eleven web fonts of which four are loaded and unused.