The Cascade · stage 05

Who designed it

Two people made a narrow proposal at exactly the right moment, and the result became one of the foundational rules of the web.

Stage 05 of six/The Cascade, piece 3 of 3/Full piece/Next: The same spec, two results

A stack of early web standards printouts bound with a clip, on a desk, window light
Stage 05 · The CascadeOctober 1994 — Håkon Wium Lie posts "Cascading HTML Style Sheets" to www-talkPhoto: Håkon-Wium-Lie-2009-03 · Wikimedia Commons

The proposal

In October 1994, Håkon Wium Lie — then working at CERN in Geneva — sent a memo to the www-talk mailing list titled "Cascading HTML Style Sheets." The word cascading was doing real work: Lie's proposal described a system in which multiple style sheets, from different sources, could all apply to the same document, with their influence weighted and merged rather than one source simply overriding all others. Authors would have opinions; readers would have preferences; the browser would resolve the conflict. That negotiation, baked into the name, survived intact into the specification we use today.

Lie had not arrived at the idea in a vacuum. The web was young enough in 1994 that its visual presentation was still treated as an afterthought, but the argument over who should control appearance — the author or the reader — was already loud. Tim Berners-Lee, who had written the first web server and browser at CERN a few years earlier, had deliberately left HTML without a styling mechanism, expecting a separate layer to appear. At least a dozen rival proposals circulated. Lie's was one of them, but it had two things the others lacked: a concrete syntax and the cascade itself, which acknowledged that no single party should have absolute control over presentation.

Chronology

In order
  1. October 1994Håkon Wium Lie posts "Cascading HTML Style Sheets" to www-talk
  2. 1994Second World Wide Web Conference, Chicago; Lie presents the proposal
  3. 1994W3C founded by Tim Berners-Lee; takes up CSS development
  4. December 1996CSS Level 1 becomes a W3C Recommendation

The collaboration

Bert Bos was working independently in the Netherlands on a browser called Argo, which had its own style sheet system. When Lie encountered Bos's work, the overlap was immediate and productive. The two began collaborating, and Bos became co-author of what would become the CSS specification. Their complementary instincts shaped the language's character: Lie had driven the architectural idea of the cascade and weighted influence; Bos brought rigour to the property model and pushed for a design that could handle the full complexity of document layout. Lie had first presented the proposal publicly in 1994, and the two refined it together in the following years.

The W3C — the World Wide Web Consortium, founded by Berners-Lee in 1994 and headquartered in Cambridge, Massachusetts — took up the work. The specification was compact: around fifty properties, a clear box model, and the cascade algorithm. It was also almost immediately imperfectly implemented. Internet Explorer 3 and Netscape Navigator 4 both shipped partial and sometimes contradictory support, a pattern that would shadow the language for years. The vendor prefix era grew partly from this: browsers experimenting with properties before interoperability could be guaranteed.

A CSS rule written out large on a whiteboard with parts circled in marker
Also in The CascadeA scoring system decides which rule wins, and it is not the one that appears last. Specificity

What the cascade actually encodes

The design choice that makes CSS CSS rather than simply "a style sheet format" is the one Lie named in his original memo. The specificity system — the scoring of selectors to determine which rule wins — is one part of it. But the broader cascade also defines an order of importance among origins: browser defaults, user preferences and author styles each occupy a position in a hierarchy, with !important declarations able to invert the usual order. This multi-origin model was philosophically deliberate. The web was being designed as a medium where neither the publisher nor the reader held absolute power, and the cascade is where that philosophy became an algorithm.

Bos has written about the property system being shaped by the recognition that future properties could not all be anticipated. The cascade needed to be a stable, extensible arbitration mechanism, not a fixed list of overrides. That foresight is why CSS Level 1 could grow through Level 2, through the modular Level 3 work, and into the ongoing specifications of today without breaking the foundational logic. The W3C has maintained a public record of the working group membership and process throughout, and the original Lie proposal is still archived there — a rare case where the first sketch and the shipped standard are recognisably the same idea.

Stage 05

The cascade needed to be a stable, extensible arbitration mechanism, not a fixed list of overrides.

A network diagram drawn on a whiteboard in marker, partly erased
Stage 05 · The Cascade

The stage in a room: håkon Wium Lie proposed style sheets and Bert Bos shaped what became CSS.