As of 2021, Cascading Style Sheets (CSS) is defined by the following specifications.
CSS Level 2, latest revision (including errata) [CSS2]: This defines the core of CSS, parts of which are overridden by later specifications. We recommend in particular reading Chapter 2, which introduces some of the basic concepts of CSS and its design principles.
CSS Syntax Level 3 [CSS-SYNTAX-3]: Replaces CSS2§4.1, CSS2§4.2, CSS2§4.4, and CSS2§G, redefining how CSS is parsed.
CSS Style Attributes [CSS-STYLE-ATTR]: Defines how CSS declarations can be embedded in markup attributes.
Media Queries Level 3 [CSS3-MEDIAQUERIES]: Replaces CSS2§7.3 and expands on the syntax for media-specific styles.
CSS Conditional Rules Level 3 [CSS-CONDITIONAL-3]: Extends and supersedes CSS2§7.2, updating the definition of @media rules to allow nesting and introducing the @supports rule for feature-support queries.
Selectors Level 3 [SELECTORS-3]: Replaces CSS2§5 and CSS2§6.4.3, defining an extended range of selectors.
CSS Namespaces [CSS3-NAMESPACE]: Introduces an @namespace rule to allow namespace-prefixed selectors.
CSS Cascading and Inheritance Level 4 [CSS-CASCADE-4]: Extends and supersedes CSS2§1.4.3 and CSS2§6, as well as [CSS-CASCADE-3]. Describes how to collate style rules and assign values to all properties on all elements. By way of cascading and inheritance, values are propagated for all properties on all elements.
CSS Values and Units Level 3 [CSS-VALUES-3]: Extends and supersedes CSS2§126.96.36.199, CSS2§4.3, and CSS2§A.2.1–3, defining CSS’s property definition syntax and expanding its set of units.
CSS Custom Properties for Cascading Variables Module Level 1 [CSS-VARIABLES-1]: Introduces cascading variables as a new primitive value type that is accepted by all CSS properties, and custom properties for defining them.
CSS Box Model Level 3 [CSS-BOX-3]: Replaces CSS2§8.1, §8.2, §8.3 (but not §8.3.1), and §8.4.
CSS Color Level 3 [CSS-COLOR-3]: Extends and supersedes CSS2§4.3.6, CSS2§14.1, and CSS2§18.2, introducing an extended range of color values. Also introduces the opacity property.
CSS Backgrounds and Borders Level 3 [CSS-BACKGROUNDS-3]: Extends and supersedes CSS2§8.5 and CSS2§14.2, providing more control of backgrounds and borders, including layered background images, image borders, and drop shadows.
CSS Images Level 3 [CSS-IMAGES-3]: Redefines and incorporates the external 2D image value type, introduces native 2D gradients, and adds additional controls for replaced element sizing and rendering.
CSS Fonts Level 3 [CSS-FONTS-3]: Extends and supersedes CSS2§15 and provides more control over font choice and feature selection.
CSS Writing Modes Level 3 [CSS-WRITING-MODES-3]: Defines CSS support for various international writing modes, such as left-to-right (e.g. Latin or Indic), right-to-left (e.g. Hebrew or Arabic), bidirectional (e.g. mixed Latin and Arabic) and vertical (e.g. Asian scripts). Replaces and extends CSS2§8.6 and §9.10.
CSS Multi-column Layout Level 1 [CSS-MULTICOL-1]: Introduces multi-column flows to CSS layout.
CSS Flexible Box Module Level 1 [CSS-FLEXBOX-1]: Introduces a flexible linear layout model for CSS.
CSS User Interface Module Level 3 [CSS-UI-3]: Extends and supersedes CSS2§18.1 and CSS2§18.4, defining cursor, outline, and several new CSS features that also enhance the user interface.
CSS Containment Module Level 1 [CSS-CONTAIN-1]: Introduces the contain property, which enforces the independent CSS processing of an element’s subtree in order to enable heavy optimizations by user agents when used well.
CSS Transforms Level 1 [CSS-TRANSFORMS-1]: Introduces coordinate-based graphical transformations to CSS.
CSS Compositing and Blending Level 1 [COMPOSITING]: Defines the compositing and blending of overlaid content and introduces features to control their modes.
CSS Easing Functions Level 1 [CSS-EASING-1]: Describes a way for authors to define a transformation that controls the rate of change of some value. Applied to animations, such transformations can be used to produce animations that mimic physical phenomena such as momentum or to cause the animation to move in discrete steps producing robot-like movement.
CSS Counter Styles Level 3 [CSS-COUNTER-STYLES-3]: Introduces the @counter-style rule, which allows authors to define their own custom counter styles for use with CSS list-marker and generated-content counters [CSS-LISTS-3]. It also predefines a set of common counter styles, including the ones present in CSS2 and CSS2.1.
CSS Level 1 (1996, revised 2008; superseded in 2016)
Last modified 25 April 2022