css

  • 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…

  • 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 prototype branch deleted after a decision

    A branch with a working framework migration on one component, kept for six weeks and then deleted on purpose. A prototype whose conclusions are recorded is finished, and…

  • 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…

  • A theme.json regenerated from tokens, still

    A generated theme.json, three years after the pipeline was built, and the check that has kept it honest. Two commands, and they have fired four times in three…

  • 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…

  • The stylesheet that was 2,100 lines and stayed

    A hand-written design system, evaluated against a framework, and kept for a reason that is not technical. The utility layer is genuinely better in a framework and it…