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 color, 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
CSS-in-JS
Writing a component's styles in JavaScript alongside its markup and logic, so styles are scoped automatically and can depend on the component's state, an approach popular in the React era whose runtime costs led to build-time variants.
Web Platform16 connections
Cascade
The algorithm deciding which declaration wins when several apply to the same element.
Design & Interface12 connections
Cascading Style Sheets
The language that describes how web pages look, proposed in 1994 to separate presentation from structure, nearly sunk by inconsistent browser support, and grown since into a layout and animation system that does work once reserved for scripts.
Web Platform11 connections
Design System
A shared vocabulary of tokens, primitives, and rules that makes independent work converge.
Design & Interface22 connections
Related5
Nearby in the graph rather than deliberately chosen. Looser, sometimes surprising.
Linked from14
- Box ModelDesign & Interface
The rule that every element on a web page is a rectangle of content wrapped in padding, border, and margin, and the two quirks, box sizing and collapsing margins, behind most surprises in CSS spacing.
- CascadeDesign & Interface
The algorithm deciding which declaration wins when several apply to the same element.
- Cascading Style SheetsWeb Platform
The language that describes how web pages look, proposed in 1994 to separate presentation from structure, nearly sunk by inconsistent browser support, and grown since into a layout and animation system that does work once reserved for scripts.
- 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.
- CSS-in-JSWeb Platform
Writing a component's styles in JavaScript alongside its markup and logic, so styles are scoped automatically and can depend on the component's state, an approach popular in the React era whose runtime costs led to build-time variants.
- 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 — color, spacing, radius, type — stored as data so they can be shared and re-themed.
- FlexboxDesign & Interface
The CSS layout mode for arranging items along one axis, distributing space and aligning them without floats or hacks, which finally made vertical centering trivial and powers most component layouts.
- OKLCHDesign & Interface
A perceptually uniform color 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.