CSS versions are best understood as a standards timeline, not as a sequence of software packages. CSS1 became a W3C Recommendation on 17 December 1996, and CSS2 followed on 12 May 1998. After CSS2, the specification model changed: CSS3 was divided into separate modules that could advance at different speeds.
That is why the phrase CSS3 release date is misleading. There is no single date when every feature associated with CSS3 became an official, finished standard.
CSS versions: CSS1 (17 December 1996) and CSS2 (12 May 1998)
The major early CSS milestones are:
- CSS1 — 17 December 1996: The first CSS specification to become a W3C Recommendation. It established core styling features such as fonts, colors, text properties, margins, padding, borders, and basic selectors.
- CSS2 — 12 May 1998: The second major specification expanded CSS with positioning, media types, generated content, layers, and support for aural presentation.
- CSS2.1 — 7 June 2011: A revised version of CSS2 that removed, clarified, or corrected features based on implementation experience. It is separate from CSS3.
CSS1 and CSS2 each represented a broad, coordinated specification. That approach worked for foundational features, but it made the standard difficult to update when different areas were ready at different times.
When was CSS3 released, and why is there no single date?
If you ask, “when was CSS3 released,” the accurate answer is that CSS3 did not arrive as one monolithic release. After CSS2, the W3C moved toward a modular structure. Work on early CSS3 modules began around the end of the 1990s, and each module followed its own development and publication path.
For example, Selectors Level 3, Color Level 3, and Media Queries Level 3 were developed and standardized separately. They did not necessarily reach Recommendation status at the same time, and browser support often appeared before a module was fully standardized.
Consequently, a date attached to one CSS3 module cannot serve as the release date for all CSS3-era features. Some modules became Recommendations, while others remained working drafts, were revised, or moved into newer levels.
How did CSS3 modules and levels change the standards model?
A module covers one area of CSS. Examples include Selectors, Color, Backgrounds and Borders, Transforms, Grid Layout, and Media Queries. Each area can be edited, tested, implemented, and standardized without waiting for every other CSS feature to be complete.
A module’s level identifies its revision or scope. Selectors Level 3 and Selectors Level 4 are successive versions of the Selectors module. The level number does not describe a single global CSS release. One module can be at Level 4 while another remains at Level 3 or advances to Level 5.
This structure also separates stable features from proposals and revisions. A module may progress from a working draft to a candidate stage and then to a Recommendation, while another module continues through design changes. The standards process therefore reflects the maturity of individual features rather than one all-or-nothing CSS launch.
What do modern CSS version labels and snapshots mean?
“CSS3” remains useful as a historical label for the modular era, especially when discussing features such as Flexbox, Grid, transitions, and advanced selectors. It is not a current, unified version number. “CSS4” is likewise usually informal shorthand unless it names a specific module, such as Selectors Level 4 or Color Level 4.
Modern CSS snapshots provide a different kind of reference. A snapshot collects specifications and feature levels considered part of the platform at a particular point in time. It is a status picture, not a new CSS version that replaces everything before it.
For current implementation details, identify the individual module and feature. Browser support is tracked feature by feature because specifications, levels, and implementations continue to progress independently.





