Skip to content

Digital

Why we still write CSS by hand

This is not a purity argument. We use tooling. We just check, every couple of years, whether the tooling is still earning its place.

What changed underneath

Grid, custom properties, container queries, clamp(), color-mix(), cascade layers, :has(). Half of what a build step used to buy is now a line of CSS that ships to every browser we support, with no runtime and nothing to keep up to date.

What we still reach for

  • A utility layer, for the eighty per cent of declarations that are one property
  • A token block, so a colour lives in exactly one place
  • A cascade layer, so a base rule can never silently beat a utility

That is close to the whole list.

The cost nobody prices

Every abstraction is a thing the next person has to learn before they can change a margin. On a site that will outlive the team that built it, that is the expensive part — not the kilobytes.

When we would do it differently

Application UI with heavy state, shared across a large team, on a long-lived product. Different problem, different answer. The mistake is picking the answer before you have said which problem you have.

Half of what a build step used to buy is now a line of CSS that ships to every browser we support.

Let's build something that lasts.

Start a project

Or just send the URL of the thing that is bothering you.