Utility-First CSS
Composing styles from many small single-purpose classes rather than authoring semantic rules.
Utility-first CSS builds interfaces by composing many small, single-purpose classes — one for padding, one for colour, one for display — directly in markup, rather than writing named rules for components. The approach is most associated with Tailwind CSS.
Its argument is about the cascade rather than about typing less. Utilities have flat specificity, do not leak, and are removed automatically when unused, which eliminates the classic failure mode of a growing stylesheet nobody dares delete from. It also converts styling from an open-ended language into a constrained vocabulary: the available values come from the theme, so Design Tokens are enforced by construction.
The criticisms are real too — markup becomes visually dense, and repetition moves from stylesheet to template. In practice the repetition is absorbed by components, so the pattern pairs naturally with a UI Primitive layer where the utility strings live in one place per concern.
Recent versions push configuration into CSS itself, defining the theme in a stylesheet block rather than a JavaScript config. That makes one distinction load-bearing: whether a theme mapping substitutes its value at definition time or at each point of use. Only the latter allows a token to be overridden inside a scope, which is exactly what scoped theming needs. See Scoped Styling and CSS Custom Property.
See also4
Hand-picked in the note itself — the neighbours worth reading next.
Design Token
Named design decisions — colour, spacing, radius, type — stored as data so they can be shared and re-themed.
Design & Interface14 connections
Cascade
The algorithm deciding which declaration wins when several apply to the same element.
Design & Interface9 connections
UI Primitive
The small set of typed components through which all interface markup is expressed.
Design & Interface10 connections
Design System
A shared vocabulary of tokens, primitives, and rules that makes independent work converge.
Design & Interface9 connections
Related3
Nearby in the graph rather than deliberately chosen. Looser, sometimes surprising.
Linked from10
Notes elsewhere in the wiki that reach for this one.
- CascadeDesign & Interface
The algorithm deciding which declaration wins when several apply to the same element.
- Container QueryDesign & Interface
Styling based on the size of an element's container rather than the viewport.
- CSS Custom PropertyDesign & Interface
A user-defined CSS property that participates in the cascade and inherits down the tree.
- Dark ModeDesign & Interface
Serving an alternate palette for low-light preference, and the three states that implies.
- Design SystemDesign & Interface
A shared vocabulary of tokens, primitives, and rules that makes independent work converge.
- Design TokenDesign & Interface
Named design decisions — colour, spacing, radius, type — stored as data so they can be shared and re-themed.
- OKLCHDesign & Interface
A perceptually uniform colour space that makes lightness and chroma behave predictably.
- Scoped StylingDesign & Interface
Confining a set of style decisions to a subtree so the same component can look different in different contexts.
- Typographic ScaleDesign & Interface
A constrained set of type sizes and their paired line heights and spacing.
- UI PrimitiveDesign & Interface
The small set of typed components through which all interface markup is expressed.