A Brief and Probably Only Partially Correct History of CSS Nesting

  • 2006: Sass was invented. Has nesting. All subsequent CSS processors have nesting (Less: 2009; Stylus: 2010).
  • 2011: Tab says Chrome engineers already dabbling with CSS nesting.
  • 2011: (Lost to time?) First Editor’s Draft appears actually called “CSS hierarchies”. Lennart Schoors has a blog post mentioning it and says it was in conjunction with Shane Stephens also at Google.
  • 2015: Tab makes an Editor’s Draft, now called “CSS Nesting”. Probably deemed “Level 3” because, after CSS3, the thinking was that all new specs would start at 3 and evolve independently forward after that. Right?
  • 2015: PostCSS plugin appears to replicate said draft. Later moved here.
  • 2017: Lea is like: let’s go yo — and CSS WG agrees to talk about it in 2018.
  • 2018: PostCSS plugin becomes part of PostCSS Preset Env, a set of plugins intended to replicate future CSS, like Babel’s Preset Env.
  • 2018: Discussions are making it clear that “unbounded lookahead” is the main “problem” with Sass-like nesting. That ain’t gonna work.
  • 2021: Spec becomes a First Public Working Draft, now co-edited with Adam.
  • 2022: Spec becomes an Editor’s Draft.
  • 2022: Miriam and Adam reach out to the public and have them vote on 3 potential options for syntax. (Not really sure which won.)
  • 2022: New discussion (Fantasai, Jen, Brad, Tab, Miriam) emerges about what syntax is best.

I’m really not sure where it is now! I imagine one of them will win here (soon?), then the spec gets finalized, then the browser implementations get fixed up, then we really start thinking and talking about it. Q1 2023?? Let’s go!


I work on CodePen! I'd highly suggest you have a PRO account on CodePen, as it buys you private Pens, media uploads, realtime collaboration, and more.

Get CodePen Pro

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to Top ⬆️