1. Introduction
Cascading Style Sheets does not have versions in the traditional sense, instead it has levels. Each level of CSS builds on the previous module, refining definitions and adding features. On Oct 27, 2023, the CSS Working Group resolved to "support the definition of CSS4" and delegated the categorization of CSS properties to the CSS Next Community Group.
The term "CSS3" has been widely used to encompass various additions and enhancements to Cascading Style Sheets (CSS) since around 2010. The CSSWG defined CSS3 as "everything after CSS2.1". As CSS continues to evolve with new features and specifications, the blanket term "CSS3" has become insufficient and misleading. This RFC from the CSS Next Community Group proposes the categorization of CSS properties into distinct levels; namely CSS3, CSS4, and CSS5.
It’s been helpful for people to call CSS3, CSS4, and CSS5 as "eras," as this helps comparmentalize the intent of the categorizations. These eras aim to improve adoption and ease of teaching, while not having a direct impact on the CSS Working Group (CSSWG) or the Baseline initiative.
2. Categorization
Feature categorization is based on a variety of factors, such as when it was proposed, when it was implemented, and when it stabilized. The primary factor being the general timeline that a feature stabalized in the CSS Working Group. The community group inspected each CSS feature’s specification, looked at the date of inception and date of stability, and used this information as a cornerstone attribute for categorization.
The primary focus is on CSS as a language; not CSS and its adoption in browsers. When applicable though, implementer interest and browser adoption are taken into account and used to resolve difficult to place features. For a robust CSS feature according to browser support, see the Baseline initiative.
- CSS3
-
Defined by the CSSWG when specs evolved at the same rate, and was designed to be open ended.
- CSS4
-
Properties and features introduced in a spec around 2013 - 2018.
- CSS5
-
Properties and features introduced in a spec around 2019 - 2024.
- Future/Next
-
2025 and beyond; to be determined by the CSS Next CG.
2.1. CSS4
Align
Animation
-
Animate grid tracks
At-rules
-
@media range-syntax
Blend Modes
Clipping, shapes & masking
Contain
Counter
Flex
-
flex_value#fr
Functions
Gradient
Grid
Image / Video
Logical Properties
Misc
-
caret
-
caret-shape
Pseudo-classes
Pseudo-elements
Relative units
Scroll
Typography
-
@annotation
-
@character-variant
-
@ornaments
-
@styleset
-
@stylistic
-
@swash
-
annotation()
-
character-variant()
-
styleset()
-
stylistic()
-
swash()
-
ornaments()
2.2. CSS5
Animation
At-rules
Cascade Layers
Colors & theming
Container Queries
Logical Properites
Math Functions
Pseudo-classes
Pseudo-elements
Relative Units
Scroll
Scroll-driven animations
Transition & Transforms
Typography
View transitions
-
@view-transition
-
view-transition-class
-
view-transition-type
2.3. Future (Uncategorized, out of scope for CSS4/5)
Align
Anchoring
-
anchor()
Aural CSS
Color
Container Queries
Grid
Pseudo-classes
-
:top-layer
Pseudo-elements
Scroll
-
target-text()
Text Fragmentation
Typography
-
white-space-trim