CSS Levels

Draft Community Group Report,

More details about this document
This version:
https://drafts.csswg.org/CSS/levels/
Previous Versions:
Issue Tracking:
GitHub
Editors:
Una Kravets (Google)
Adam Argyle (Google)
Brecht De Ruyte
Quentin Albert

Abstract

This document outlines where CSS levels have been and where they are going. It categorizes CSS properties into distinct levels, namely CSS4, and CSS5, to better organize and facilitate understanding of the evolving CSS landscape.

Status of this document

This section describes the status of this document at the time of its publication. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/.

The CSS Next CG and the CSSWG are still in the process of identifying and solidifying the following categorizations. Feedback is welcome, join the conversation on Github in the CSS Next RFC.

This document is governed by the 03 November 2023 W3C Process Document.

This specification was published by the CSS4 / CSS Next Community Group. It is not a W3C Standard nor is it on the W3C Standards Track. Please note that under the W3C Community Contributor License Agreement (CLA) there is a limited opt-out and other conditions apply. Learn more about W3C Community and Business Groups.

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
At-rules
Blend Modes
Clipping, shapes & masking
Contain
Counter
Flex
Functions
Gradient
Grid
Image / Video
Logical Properties
Misc
Print
Pseudo-classes
Pseudo-elements
Relative units
Scroll
Typography

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

2.3. Future (Uncategorized, out of scope for CSS4/5)

Align
Anchoring
Aural CSS
Color
Container Queries
Functions
Grid
Pseudo-classes
Pseudo-elements
Scroll
Text Fragmentation
Typography
Units

Conformance

Document conventions

Conformance requirements are expressed with a combination of descriptive assertions and RFC 2119 terminology. The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in the normative parts of this document are to be interpreted as described in RFC 2119. However, for readability, these words do not appear in all uppercase letters in this specification.

All of the text of this specification is normative except sections explicitly marked as non-normative, examples, and notes. [RFC2119]

Examples in this specification are introduced with the words “for example” or are set apart from the normative text with class="example", like this:

This is an example of an informative example.

Informative notes begin with the word “Note” and are set apart from the normative text with class="note", like this:

Note, this is an informative note.

References

Normative References

[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Best Current Practice. URL: https://datatracker.ietf.org/doc/html/rfc2119