CSS Snapshot 2026
CSS Snapshot 2026
W3C Group Note
26 March 2026
More details about this document
This version:
Latest published version:
Editor's Draft:
Previous Versions:
History:
Feedback:
CSSWG Issues Repository
Editors:
Tab Atkins Jr.
Google
Elika J. Etemad / fantasai
Apple
Florian Rivoal
Invited Expert
Chris Lilley
W3C
Sebastian Zartner
Invited Expert
Suggest an Edit for this Spec:
GitHub Editor
World Wide Web Consortium
W3C
liability
trademark
and
permissive document license
rules apply.
Abstract
This document collects together into one definition all the specs that
together form the current state of Cascading Style Sheets (CSS) as of 2026.
The primary audience is CSS implementers, not CSS authors, as this definition
includes modules by specification stability, not Web browser adoption rate.
CSS
is a language for describing the rendering of structured documents
(such as HTML and XML)
on screen, on paper, etc.
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 standards and drafts index.
This document was published
by the
CSS Working Group
as a Group Note
using the
Note track
Group Notes are not endorsed by W3C nor its Members.
Please send feedback
by
filing issues in GitHub
(preferred),
including the spec code “css-2026” in the title, like this:
“[css-2026]
…summary of comment…
”.
All issues and comments are
archived
Alternately, feedback can be sent to the (
archived
) public mailing list
www-style@w3.org
This document is governed by the
18 August 2025 W3C Process Document
The
15 September 2020 W3C Patent Policy
does not carry any licensing requirements or commitments on this document.
This document represents the state of CSS as of 2026.
1.
Introduction
When the first CSS specification was published,
all of CSS was contained in one document that defined CSS Level 1.
CSS Level 2 was defined also by a single, multi-chapter document.
However for CSS beyond Level 2,
the CSS Working Group chose to adopt a modular approach,
where each module defines a part of CSS,
rather than to define a single monolithic specification.
This breaks the specification into more manageable chunks
and allows more immediate, incremental improvement to CSS.
Since different CSS modules are at different levels of stability,
the CSS Working Group has chosen to publish this profile
to define the current scope and state of Cascading Style Sheets as of 2026.
1.1.
What is CSS?
Cascading Style Sheets (CSS)
CSS is a language for writing
style sheets
and is designed to describe the rendering of structured documents
(such as HTML and XML)
on a variety of media.
CSS is used to describe the presentation of a
source document
and usually does not change the underlying semantics
expressed by its
document language
Style sheet
A set of rules that specify the presentation of a document.
Style sheets are written by an
Author
and interpreted by a
user agent
to present the document to the
User
Source document
The document to which one or more style sheets apply.
A source document’s structure and semantics are encoded
using a
document language
(e.g., HTML, XHTML, or SVG).
Author
An author is a person who writes documents and associated style sheets.
An
authoring tool
is a
user agent
that generates style sheets.
User
A user is a person who interacts with a user agent
to view, hear, or otherwise use the document.
User agent (UA)
A user agent is any program that interprets a document
and its associated
style sheets
on behalf of a
user
user agent
may display a document, read it aloud,
cause it to be printed, convert it to another format, etc.
For the purposes of the CSS specifications,
user agent
is one that supports and interprets
Cascading Style Sheets
as defined in these specifications.
1.2.
Background: The W3C Process and CSS
This section is non-normative.
In the
W3C Process
a Recommendation-track document passes through three levels of stability,
summarized below:
Working Draft (WD)
This is the design phase of a W3C spec.
The WG iterates the spec in response to internal and external feedback.
The first official Working Draft is designated the “First Public Working Draft” (FPWD).
In the CSSWG, publishing FPWD indicates that the Working Group as a whole has agreed to work on the module,
roughly as scoped out and proposed in the editor’s draft.
The transition to the next stage is sometimes called “Last Call Working Draft” (LCWD) phase.
The CSSWG transitions Working Drafts once we have resolved all known issues,
and can make no further progress without feedback from building tests and implementations.
This “Last Call for Comments” sets a deadline for reporting any outstanding issues,
and requires the WG to specially track and address incoming feedback.
The comment-tracking document is the Disposition of Comments (DoC).
It is submitted along with an updated draft for the Director’s approval,
to demonstrate wide review and acceptance.
Candidate Recommendation (CR)
This is the testing phase of a W3C spec.
Notably, this phase is about using tests and implementations to test the specification:
it is not about testing the implementations.
This process often reveals more problems with the spec,
and so a Candidate Recommendation will morph over time in response to implementation and testing feedback,
though usually less so than during the design phase (WD).
Demonstration of two correct, independent implementations of each feature is required to exit CR,
so in this phase the WG builds a test suite and generates implementation reports.
The transition to the next stage is “Proposed Recommendation” (PR).
During this phase the W3C Advisory Committee must approve the transition to REC.
Recommendation (REC)
This is the completed state of a W3C spec and represents a maintenance phase.
At this point the WG only maintains an errata document
and occasionally publishes an updated edition that incorporates the errata back into the spec.
An
Editor’s Draft
is effectively a live copy of the editors’ own working copy.
It may or may not reflect Working Group consensus,
and can at times be in a self-inconsistent state.
(Because the publishing process at W3C is time-consuming and onerous,
the
Editor’s Draft
is usually the best (most up-to-date) reference for a spec.
Efforts are currently underway to reduce the friction of publishing,
so that official drafts will be regularly up-to-date
and
Editor’s Drafts
can return to their original function as scratch space.)
2.
Classification of CSS Specifications
A list of all CSS modules, stable and in-progress,
and their statuses
can be found at the
CSS Current Work page
2.1.
Cascading Style Sheets (CSS) — The Official Definition
This profile includes only specifications that we consider stable
and
for which we have enough implementation experience that we are sure of that stability.
Note:
This is not intended to be a CSS Desktop Browser Profile:
inclusion in this profile is based on feature stability only
and not on expected use or Web browser adoption.
This profile defines CSS in its most complete form.
As of 2026,
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 Module 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 Module 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 Module Level 3
[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 Module Level 3
[CSS-VALUES-3]
Extends and supersedes CSS2§1.4.2.1, 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 Module Level 3
[CSS-BOX-3]
Replaces CSS2§8.1, §8.2, §8.3 (but not §8.3.1), and §8.4.
CSS Color Module Level 4
[CSS-COLOR-4]
Extends and supersedes CSS2§4.3.6, CSS2§14.1, and CSS2§18.2,
also extends and supersedes
[CSS-COLOR-3]
introducing an extended range of color spaces beyond sRGB,
extended color values,
and CSS Object Model extensions for color.
Also defines the
opacity
property.
CSS Backgrounds and Borders Module 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 Module 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 Module 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 Module Level 1
[CSS-MULTICOL-1]
Introduces multi-column flows to CSS layout.
CSS Flexible Box Layout Module Level 1
[CSS-FLEXBOX-1]
Introduces a flexible linear layout model for CSS.
CSS Basic 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 Module Level 1
[CSS-TRANSFORMS-1]
Introduces coordinate-based graphical transformations to 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.
Note:
Although we don’t anticipate significant changes to the specifications that form this snapshot,
their inclusion does not mean they are frozen.
The Working Group will continue to address problems as they are found in these specs.
Implementers should monitor
www-style
and/or the
CSS Working Group Blog
for any resulting changes, corrections, or clarifications.
2.2.
Reliable Candidate Recommendations
The following specifications are considered to be in a reliable state, meaning they have largely stable implementations and specifications, but are not yet at the Recommendation level due to minor issues or the need for additional implementation reports.
Media Queries Level 4
[MEDIAQUERIES-4]
Extends and supersedes
[CSS3-MEDIAQUERIES]
expanding the syntax,
deprecating most media types,
and introducing new media features.
CSS Scroll Snap Module Level 1
[CSS-SCROLL-SNAP-1]
Contains features to control panning and scrolling behavior with “snap positions”.
CSS Scrollbars Styling Module Level 1
[CSS-SCROLLBARS-1]
Defines properties to influence the visual styling of scrollbars,
introducing controls for their color and width.
CSS Grid Layout Module Level 1
[CSS-GRID-1]
Introduces a two-dimensional grid-based layout system,
optimized for user interface design.
In the grid layout model, the children of a grid container
can be positioned into arbitrary slots in a predefined flexible or fixed-size layout grid.
CSS Grid Layout Module Level 2
[CSS-GRID-2]
Extends and supersedes
[CSS-GRID-1]
introducing “subgrids” for managing nested markup in a shared grid framework.
CSS Cascading and Inheritance Module Level 5
[CSS-CASCADE-5]
Extends and supersedes
[CSS-CASCADE-4]
introducing cascade layers which provide a structured way to organize and balance concerns within a single origin.
CSS Color Adjustment Module Level 1
[CSS-COLOR-ADJUST-1]
This module introduces a model and controls over automatic color adjustment by the user agent to handle user preferences and device output optimizations.
CSS Conditional Rules Module Level 4
[CSS-CONDITIONAL-4]
Extends
[CSS-CONDITIONAL-3]
to allow testing for supported selectors.
2.3.
Fairly Stable Modules with limited implementation experience
The following modules have completed design work,
and are fairly stable,
but have not received much testing and implementation experience yet.
We hope to incorporate them into the
official definition of CSS
in a future snapshot.
CSS Display Module Level 3
[CSS-DISPLAY-3]
Replaces CSS2§9.1.2, §9.2.1 (but not §9.2.1.1), §9.2.2 (but not §9.2.2.1), §9.2.3, and §9.2.4 (and lays the foundations for replacing §9.7),
defining how the CSS formatting box tree is generated
from the document element tree
and defining the
display
property that controls it.
CSS Writing Modes Level 4
[CSS-WRITING-MODES-4]
Extends and supersedes
[CSS-WRITING-MODES-3]
adding more options for vertical writing.
CSS Fragmentation Module Level 3
[CSS-BREAK-3]
Describes the fragmentation model that partitions a flow into pages, columns, or regions
and defines properties that control it.
Extends and supersedes CSS2§13.3.
CSS Box Alignment Module Level 3
[CSS-ALIGN-3]
Introduces properties to control the alignment of boxes
within their containers in the various CSS box layout models:
block layout, table layout, flex layout, and grid layout.
CSS Shapes Module Level 1
[CSS-SHAPES-1]
Extends floats (CSS2§9.5) to effect non-rectangular wrapping shapes.
CSS Text Module Level 3
[CSS-TEXT-3]
Extends and supersedes CSS2§16 excepting §16.3,
defining properties for text manipulation and specifying their processing model.
It covers line breaking, justification and alignment, white space handling, and text transformation.
CSS Text Decoration Module Level 3
[CSS-TEXT-DECOR-3]
Extends and supersedes CSS2§16.3,
providing more control over text decoration lines
and adding the ability to specify text emphasis marks
and text shadows.
CSS Masking Module Level 1
[CSS-MASKING-1]
Replaces CSS2§11.1.2
and introduces more powerful ways of clipping and masking content.
CSS Speech Module Level 1
[CSS-SPEECH-1]
Replaces CSS2§A,
overhauling the (non-normative) speech rendering chapter.
CSS View Transitions Module Level 1
[CSS-VIEW-TRANSITIONS-1]
Defines the View Transition API, along with associated properties and pseudo-elements,
which allows developers to create animated visual transitions representing
changes in the document state.
2.4.
Modules with Rough Interoperability
Although the following modules have been widely deployed with
rough interoperability
their details are not fully worked out or sufficiently well-specified
and they need more testing and bugfixing.
We hope to incorporate them into the
official definition of CSS
in a future snapshot.
CSS Transitions
[CSS-TRANSITIONS-1]
and
CSS Animations Level 1
[CSS-ANIMATIONS-1]
Introduces mechanisms for transitioning the computed values of CSS properties over time.
CSS Will Change Module Level 1
[CSS-WILL-CHANGE-1]
Introduces a performance hint property called
will-change
Filter Effects Module Level 1
[FILTER-EFFECTS-1]
Introduces filter effects as a way of processing an element’s rendering before it is displayed in the document.
CSS Font Loading Module Level 3
[CSS-FONT-LOADING-3]
Introduces events and interfaces used for dynamically loading font resources.
CSS Box Sizing Module Level 3
[CSS-SIZING-3]
Overlays and extends CSS§10.,
expanding the value set of the sizing properties,
introducing more precise sizing terminology,
and defining with more precision and detail
various automatic sizing concepts only vaguely defined in CSS2.
CSS Transforms Module Level 2
[CSS-TRANSFORMS-2]
Builds upon
[CSS-TRANSFORMS-1]
to add new transform functions and properties for three-dimensional transforms,
and convenience functions for simple transforms.
CSS Lists and Counters Module Level 3
[CSS-LISTS-3]
Contains CSS features related to list counters:
styling them,
positioning them,
and manipulating their value.
CSS Logical Properties and Values Level 1
[CSS-LOGICAL-1]
Introduces logical properties and values
that provide the author with the ability to control layout through logical,
rather than physical,
direction and dimension mappings.
Also defines logical properties and values for the features defined in
[CSS2]
These properties are writing-mode relative equivalents
of their corresponding physical properties.
CSS Positioned Layout Module Level 3
[CSS-POSITION-3]
Contains defines coordinate-based positioning and offsetting schemes of CSS:
relative positioning
sticky positioning
absolute positioning
and
fixed positioning
Resize Observer
[RESIZE-OBSERVER-1]
This specification describes an API for observing changes to element’s principal box’s size.
Web Animations
[WEB-ANIMATIONS-1]
Defines a model for synchronization and timing of changes to the presentation of a Web page.
Also defines an application programming interface for interacting with this model.
CSS Fonts Module Level 4
[CSS-FONTS-4]
Extends and supersedes CSS Fonts 3
and provides more control over font choice and feature selection,
including support for OpenType variations.
Motion Path Module Level 1
[MOTION-1]
This module allows authors to position any graphical object and animate it along an author specified path.
CSS Scroll Anchoring Module Level 1
[CSS-SCROLL-ANCHORING-1]
This module aims to minimize content shifts
by locking the scroll position of a scroll container to a particular anchor element.
CSS Object Model (CSSOM)
[CSSOM-1]
This module defines APIs for parsing, serializing,
and manipulating CSS, Media Queries, and Selectors.
CSS Color Module Level 5
[CSS-COLOR-5]
Extends CSS Color 4 to add color spaces and color modification functions.
Selectors Level 4
[SELECTORS-4]
Extends Selectors Level 3 by introducing new pseudo-classes,
pseudo-elements, and combinators,
enhancing the ability to select elements
based on more complex criteria and states.
CSS Containment Module Level 2
[CSS-CONTAIN-2]
Extends CSS Containment 1 to add style containment.
CSSOM View Module
[CSSOM-VIEW-1]
This module defines APIs for querying and manipulating
the visual viewport and layout viewport,
as well as methods for scrolling elements into view.
Geometry Interfaces Module Level 1
[GEOMETRY-1]
This module defines basic basic geometric interfaces to represent points, rectangles, quadrilaterals,
and transformation matrices.
CSS Nesting Module Level 1
[CSS-NESTING-1]
This module introduces the ability to nest one style rule
inside another, with the selector of the child rule
relative to the selector of the parent rule.
This increases the modularity and maintainability of CSS stylesheets.
2.5.
CSS Levels
Cascading Style Sheets does not have versions in the traditional sense;
instead it has
levels
. Each level of CSS builds on the previous,
refining definitions and adding features. The feature set of each higher
level is a superset of any lower level, and the behavior allowed for a given
feature in a higher level is a subset of that allowed in the lower levels.
A user agent conforming to a higher level of CSS is thus also conformant to
all lower levels.
CSS Level 1
The CSS Working Group considers the
CSS1 specification
to be
obsolete.
CSS Level 1
is defined as all the features defined
in the CSS1 specification (properties, values, at-rules, etc), but using
the syntax and definitions in the
CSS2.1 specification
CSS Style Attributes
defines its inclusion in element-specific style attributes.
CSS Level 2
Although the
CSS2 specification
is technically a W3C Recommendation, it passed into the Recommendation stage
before the W3C had defined the Candidate Recommendation stage. Over time
implementation experience and further review has brought to light many problems
in the CSS2 specification, so instead of expanding an already
unwieldy
errata list
, the CSS Working Group chose to define
CSS Level 2
Revision 1
(CSS2.1). In case of any conflict between the two specs
CSS2.1 contains the definitive definition.
Once CSS2.1 became Candidate Recommendation—effectively though not
officially the same level of stability as CSS2—obsoleted the CSS2
Recommendation. Features in CSS2 that were dropped from CSS2.1 should be
considered to be at the Candidate Recommendation stage, but note that many
of these have been or will be pulled into a CSS Level 3 working draft, in
which case that specification will, once it reaches CR, obsolete the
definitions in CSS2.
The
CSS2.1 specification
defines
CSS Level 2
and the
CSS
Style Attributes specification
defines its inclusion in
element-specific style attributes.
CSS Level 3
CSS Level 3
builds on CSS Level 2 module by module, using the CSS2.1
specification as its core. Each module adds functionality and/or
replaces part of the CSS2.1 specification. The CSS Working Group
intends that the new CSS modules will not contradict the CSS2.1
specification: only that they will add functionality and refine
definitions. As each module is completed, it will be plugged in to
the existing system of CSS2.1 plus previously-completed modules.
From this level on modules are levelled independently: for example
Selectors Level 4 may well be completed before CSS Line Module Level 3.
Modules with no
CSS Level 2
equivalent start at Level 1;
modules that update features that existed in
CSS Level 2
start at Level 3.
CSS Level 4
and beyond
There is no CSS Level 4.
Independent modules can reach level 4 or beyond,
but CSS the language no longer has levels.
("CSS Level 3" as a term is used only to differentiate it from the previous monolithic versions.)
2.6.
CSS Profiles
Not all implementations will implement all functionality defined in CSS.
In the past, the Working Group published a few Profiles,
which were meant to define the minimal subset of CSS
that various classes of user agents were expected to support.
This effort has been discontinued,
as the Working Group was not finding it effective or useful,
and the profiles previously defined are now unmaintained.
Note:
Partial implementations of CSS, even if that subset is an official profile,
must follow the forward-compatible parsing rules for
partial implementations
3.
Requirements for Responsible Implementation of CSS
The following sections define several conformance requirements
for implementing CSS responsibly,
in a way that promotes interoperability in the present and future.
3.1.
Partial Implementations
So that authors can exploit the forward-compatible parsing rules to assign fallback values,
CSS renderers
must
treat as invalid
(and
ignore as appropriate
any at-rules, properties, property values, keywords, and other syntactic constructs
for which they have no usable level of support
In particular, user agents
must not
selectively ignore
unsupported property values and honor supported values in a single multi-value property declaration:
if any value is considered invalid (as unsupported values must be),
CSS requires that the entire declaration be ignored.
3.2.
Implementations of Unstable and Proprietary Features
To avoid clashes with future stable CSS features,
the CSSWG recommends the following best practices for the implementation of
unstable
features and
proprietary extensions
to CSS:
3.2.1.
Experimentation and Unstable Features
Implementations of
unstable
features
that are described in W3C specifications
but are not interoperable
should not be released broadly for general use;
but may be released for limited, experimental use in controlled environments.
Why?
We want to allow both authors and implementors to experiment with the feature and give feedback,
but prevent authors from relying on them in production websites
and thereby accidentally "locking in" (through content dependence)
certain syntax or behavior that might change later.
For example,
a UA could release an
unstable
features for experimentation
through beta or other testing-stage builds;
behind a hidden configuration flag;
behind a switch enabled only for specific testing partners;
or through some other means of limiting dependent use.
A CSS feature is considered
unstable
until
its specification has reached the Candidate Recommendation (CR) stage in the W3C process.
In exceptional cases,
the CSSWG may additionally, by an officially-recorded resolution,
add pre-CR features to the set that are considered safe to release for broad use.
See
§ 4 Safe to Release pre-CR Exceptions
Note:
Vendors should consult the WG explicitly and not make assumptions on this point,
as a pre-CR spec that hasn’t changed in awhile is usually more out-of-date than stable.
3.2.2.
Proprietary and Non-standardized Features
To avoid clashes with future CSS features,
the CSS2.1 specification reserves a
prefixed syntax
[CSS2]
for proprietary and experimental extensions to CSS.
A CSS feature is a
proprietary extension
if it is meant for use
in a closed environment accessible only to a single vendor’s user agent(s).
A UA should support such
proprietary extensions
only through a vendor-
prefixed
syntax
and not expose them to open (multi-UA) environments such as the World Wide Web.
Why?
The prefixing requirement allows shipping specialized features in closed environments
without conflicting with future additions to standard CSS.
The restriction on exposure to open systems is to prevent
accidentally causing the public CSS environment
to depend on an unstandardized
proprietary extensions
For example,
Firefox’s XUL-based UI, Apple’s iTunes UI, and Microsoft’s Universal Windows Platform app
use extensions to CSS implemented by their respective UAs.
So long as these UAs do not allow Web content to access these features,
they do not provide an opportunity for such content
to become dependent on their
proprietary extensions
Even if a feature is intended to eventually be used in the Web,
if it hasn’t yet been standardized
it should still not be exposed to the Web.
3.2.3.
Market Pressure and De Facto Standards
If a feature is
unstable
(i.e. the spec has not yet stabilized), but
at least three UAs implement the feature
or
a UA has broken the other rules and shipped for broad use
an
unstable
or otherwise non-standard feature in a production release),
and
the implementations have rough interoperability,
and
the CSS Working Group has recorded consensus
that this feature should exist and be released,
implementers may ship that feature
unprefixed
in broad-release builds.
Rough interoperability
is satisfied by a subjective judgment
that even though there may be differences,
the implementations are sufficiently similar
to be used in production websites for a substantial number of use cases.
Note that the CSSWG must still be consulted to ensure coordination across vendors
and to ensure coherency review by the CSS experts from each vendor.
Note also that
rough interoperability
still usually means
painful lack of interop in edge (or not-so-edge) cases,
particularly because details have not been ironed out through the standards review process.
Why?
If a feature is sufficiently popular that three or more browsers have implemented it before it’s finished standardization,
this clause allows releasing the pressure to ship.
Also, if a feature has already escaped into the wild and sites have started depending on it,
pretending it’s still “experimental” doesn’t help anyone.
Allowing others to ship unprefixed recognizes that the feature is now de facto standardized
and encourages authors to write cross-platform code.
3.2.3.1.
Vendor-prefixing Unstable Features
When exposing such a standards-track
unstable
feature to the Web in a production release,
implementations should support
both
vendor-prefixed
and unprefixed syntaxes
for the feature.
Once the feature has stabilized and the implementation is updated to match interoperable behavior,
support for the
vendor-prefixed
syntax should be removed.
Why?
This is recommended so that authors can use the unprefixed syntax to target all implementations,
but when necessary, can target specific implementations
to work around incompatibilities among implementations
as they get ironed out through the standards/bugfixing process.
The lack of a phase
where only the prefixed syntax is supported
greatly reduces the risk of stylesheets
being written with only the vendor-prefixed syntax.
This in turn allows UA vendors to retire
their prefixed syntax once the feature is stable,
with a lower risk of breaking existing content.
It also reduces the need occasionally felt by some vendors
to support a feature with the prefix of another vendor,
due to content depending on that syntax.
Anyone promoting
unstable
features to authors
should document them using their standard unprefixed syntax,
and avoid encouraging the use of the
vendor-prefixed
syntax
for any purpose other than working around implementation differences.
3.2.3.2.
Preserving the Openness of CSS
In order to preserve the open nature of CSS as a technology,
vendors should make it possible for other implementors
to freely implement any features that they do ship.
To this end, they should provide spec-editing and testing resources
to complete standardization of such features,
and avoid other obstacles (e.g., platform dependency, licensing restrictions)
to their competitors shipping the feature.
3.3.
Implementations of CR-level Features
Once a specification reaches the Candidate Recommendation stage,
implementers should release an
unprefixed
implementation
of any CR-level feature they can demonstrate
to be correctly implemented according to spec,
and should avoid exposing a prefixed variant of that feature.
To establish and maintain the interoperability of CSS across
implementations, the CSS Working Group requests that non-experimental
CSS renderers submit an implementation report (and, if necessary, the
testcases used for that implementation report) to the W3C before
releasing an unprefixed implementation of any CSS features. Testcases
submitted to W3C are subject to review and correction by the CSS
Working Group.
Up to date implementation reports for CSS specifications
can be found on
Web Platform Tests
which is
maintained
on GitHub
4.
Safe to Release pre-CR Exceptions
The following features have been explicitly and proactively cleared
by the CSS Working Group for broad release
prior to the spec reaching Candidate Recommendation.
See
§ 3.2.1 Experimentation and Unstable Features
The flow-relative equivalents of
the sizing properties (
width
height
, etc.),
the border properties,
the margin and padding properties.
See
explanation
and
specification
The
min-content
and
max-content
keywords of the sizing properties.
See
decision
and
specification
The
conic-gradient()
gradient notation. See
decision
The
aspect-ratio
property.
[CSS-SIZING-4]
The
translate
rotate
, and
scale
properties.
[CSS-TRANSFORMS-2]
The
hyphenate-character
property.
[CSS-TEXT-4]
The
color-mix()
function.
[CSS-COLOR-5]
The

, defined in
[CSS-COLOR-4]
and used for interpolation of linear, radial and conic gradients.
[CSS-IMAGES-4]
The
relative color
syntax, defined in
[CSS-COLOR-5]
The
request url modifiers
, defined in
[CSS-VALUES-5]
The
display-modes
dynamic-range
scripting
prefers-reduced-motion
prefers-reduced-transparency
prefers-contrast
forced-colors
and
prefers-color-scheme
media features, defined in
[MEDIAQUERIES-5]
The
font-tech()
and
font-format()
functions, defined in
[CSS-CONDITIONAL-5]
The
:is()
:where()
, and
:has()
pseudo-classes,
and selector lists in
:not()
, defined in
[SELECTORS-4]
The
text-decoration-thickness
and
text-underline-offset
properties and the
from-font
value for
text-underline-position
, defined in
[CSS-TEXT-DECOR-4]
The
::marker
pseudo-element
, defined in
[CSS-PSEUDO-4]
The
text-box-trim
and
text-box-edge
properties including their
text-box
shorthand, defined in
[CSS-INLINE-3]
The
env()
function including the
save-area-inset-*
variables, defined in
[CSS-ENV-1]
The
pseudo-classes
:scope
:defined
:focus-within
:dir()
:any-link
:open
:popover-open
:modal
:fullscreen
:placeholder-shown
:default
:valid
:invalid
:required
:optional
, and selector lists for the
:nth-child()
and
:nth-last-child()
pseudo-classes
, defined in
[SELECTORS-4]
The
accent-color
property, the
auto
value for the
outline-color
property, and the

data type for the
cursor
property, defined in
[CSS-UI-4]
Everything in
CSS Animations Level 1
and
CSS Transitions Level 1
5.
The text/css media type
This updated registration obsoletes
RFC 2318
Type name: text

Subtype name: css

Required parameters: none

Optional parameters: charset (but see below)

Encoding considerations:

For use with transports that are not 8-bit clean, quoted-
printable encoding is recommended since the majority of
characters will be CSS syntax and thus correspond to the
US-ASCII-compatible subrange of UTF-8.

Security considerations:

CSS is a modular specification and thus, the individual
Security Considerations section of each CSS module in use
should be consulted.

Interoperability considerations:

CSS has proven to be widely interoperable across computer
platforms, across Web browsers of different makes, and for import
and export in multiple authoring tools.

Published specification:

Applications that use this media type:

CSS is device-, platform- and vendor-neutral and is supported by
a wide range of Web user agents and authoring tools for
formatting HTML documents.

Fragment identifier considerations:

N/A

Additional information:

Deprecated alias names for this type: N/A
Magic number(s): N/A
File extension(s): .css
macOS Uniform Type Identifier(s): public.css
Windows clipboard name(s): N/A

Person & email address to contact for further information:

The W3C CSS Working Group

Intended usage:

COMMON

Restrictions on usage:

N/A

Author: The W3C CSS Working Group

Change controller: W3C

Fallback encoding:

For Web compatibility, to determine the character encoding,
user agents follow the CSS Syntax Level 3 specification,
"To determine the fallback encoding of a stylesheet"

Stylesheet authors should author their stylesheets in UTF-8, and
ensure that either an HTTP header (or equivalent method) declares
the encoding of the stylesheet to be UTF-8, or that the referring
document declares its encoding to be UTF-8.
6.
Security Considerations
Please see the Security Considerations of the individual CSS modules.
7.
Privacy Considerations
Please see the Privacy Considerations of the individual CSS modules.
8.
Indices
These sections are non-normative.
8.1.
Terms Index
in css2
in css2
~=
1st
2d matrix
2nd
3d matrix
3d rendering context
3d transformed element
3d transform functions
3rd
4th
absolute color
absolute length
absolute length unit
absolutely position
absolutely-positioned
absolutely positioned box
absolutely positioned element
absolute position
absolute-position containing block
absolute positioning containing block
absolute positioning layout
absolute positioning layout model
absolute scroll
abstract dimensions
accumulated 3d transformation matrix
accumulation for one-based values
activate view transition
:active
active-after boundary time
activeborder
activecaption
active duration
in css-animations-1
in web-animations-1
active interval
active phase
active (pseudo-class)
active replace state
active time
active timeline
active time space
active view transition
actual value
actual values
add a css style sheet
additive color space
additive tuple
adjoining
adjoining margins
adjusted radius dimension
advance measure
:after
in css2
in css2
after
after-change style
after phase
aliceblue
aligned subtree
alignment baseline
alignment container
alignment context
alignment subject
'all' media group
alphabetic baseline
alpha channel
alpha component

alternate
alternate flag
alternate-reverse
ambiguous image url
analogous components
an+b
ancestor
anchor
anchor node
anchor node selection algorithm
anchor priority candidate
anchor unit

animatable
animation
animation class
animation composite order
animation direction
animation effect
animation events
animation frame
animation model
animation origin
animation playback events
animation property name to idl attribute name
animation-tainted
animation time to origin-relative time
animation time to timeline time
animation type
anonymous
in css-display-3, for CSS
in css2
anonymous box
anonymous inline boxes
antiquewhite
apply any pending playback rate
apply to
appworkspace
aqua
aquamarine
are a valid escape
aspect value
associated animation
associated css style sheet
associated document
associated effect
associated effect end
associated with an animation
associated with a timeline
at-keyword
atomic inline
atomic inline box
atomic inline-level box
atomic inline-level boxes
at-rule
at-rules
attr()
attribute
attribute selector
'audio' media group
auditory icon
augmented grid
aural box model
author
authoring tool
author origin
author-origin
author presentational hint origin
author style sheet
automatic block size
automatic column position
automatic grid position
automatic inline size
automatic minimum size
automatic numbering
automatic placement
automatic position
automatic row position
automatic size
auto-placement
auto-placement cursor
available block space
available font faces
available grid space
available inline space
available space
avoid break values
axis-lock
axis value
azure
backdrop
background
background color
background image
background image layer
background painting area
background positioning area
backslash escapes
backwards
baseline
baseline alignment
baseline alignment preference
baseline content-alignment
baseline self-alignment
baseline set
baseline-sharing group
baseline table
base size
bearing angle
:before
in css2
in css2
before
before-active boundary time
before-change style
before flag
before phase
beginning edges
behave as auto
behaves as auto
behaving as auto
beige
bfc
bidi formatting characters
bidi-isolate
bidi-isolated
bidi isolation
bidi paragraph
bidirectionality
bidirectionality (bidi)
binary search gamut map with local minde
bi-orientational
bi-orientational transform
bisque
'bitmap' media group
black
blanchedalmond
()-block
[]-block
block
{}-block
block at-rule
block axis
block-axis
block box
block boxes
block container
block container box
block dimension
block end
block-end
block flow direction
block formatting context
block formatting context root
blockification
blockify
block layout
block-level
block-level box
block-level boxes
block-level content
block-level element
block-level elements
block scripts
block size
block-size
block start
block-start
blue
blueviolet
blur radius
boolean context
border
border area
border box
border color
border edge
border image
border image area
border image region
border (of a box)
border::of a box
border properties
border radius

border style
border width
both
bottom
box
box alignment properties
box::border
box::content
box::content height
box::content width
box-corner
box edge
box fragment
box::margin
box::overflow
box::padding
box tree
break
broadcast active observations
broadcast active resize observations
brown
burlywood
buttonface
buttonhighlight
buttons
buttonshadow
buttontext
by computed value
cadetblue
calculate a color-mix()
calculate box size
calculate depth for node
calibrated
call the update callback
can be displayed
cancel
cancel an animation
cancel event
candidate examination algorithm
canonical unit
can't be displayed
canvas
canvas background
canvas surface
captiontext
captured element
captured in a view transition
capture rendering characteristics
captures snap positions
capture the image
capture the new state
capture the old state
capturing the image
caret node
caret offset
caret position
carried forward
cascade
cascade-dependent keyword
cascaded value
cascade layers
cascade origin
case-sensitive flag
cast a ray
central baseline
change the preferred css style sheet set name
character
character encoding
characterized
character map
"@charset"
chartreuse
check if three code points would start an ident sequence
check if three code points would start a number
check if three code points would start a unicode-range
check if two code points are a valid escape
check the completion record
child
child combinator
child css rules
child selector
chinese
chocolate
chromatic adaptation transform
chromaticity
circled-lower-latin
clamp a grid area
class selector
clearance
clearance.
clear view transition
clipping path
clipping region
close to the viewport
clustered scripts
collapse
collapsed
collapsed flex item
collapsed grid track
collapsed gutter
collapsed margin
collapse through
collapsible white space
collapsing margin
collection of media queries

color
color functions
color scheme
color space
color stop
color stop list
color transition hint
column box
column break
column gap
column height
column rule
column width
combinator
in css2
in selectors-4, for selector
combinators
in css2
in selectors-3
combined duration
combining shadow lists
comments
commit computed styles
compare media queries
compatible baseline alignment preferences
compatible units
complete
completed transition
complex selector
component keyword
component value
composite
composited value
composite face
composite operation
compositeoperation
composite operation accumulate
composite operation add
composite operation replace
composition
compound selector
compute a property value
computed color
computed flag
computed
computed keyframe offset
computed keyframe offsets
computed keyframes
computed repeat notation
computed track list
computed track size
computed value
computed values
compute missing keyframe offsets
concrete object size
conditional group rule
conditional import
conditionally hang
conformance
conforming scripted web animations user agent
consecutive
constraint rectangle
constructed flag
constructor document
consume a block
consume a block's contents
consume a component value
consume a declaration
consume a function
consume a list of component values
consume a list of declarations
consume a list of rules
consume an at-rule
consume an escaped code point
consume an ident-like token
consume an ident sequence
consume a number
consume a numeric token
consume a qualified rule
consume a simple block
consume a string token
consume a style block's contents
consume a stylesheet's contents
consume a token
in css-syntax-3
in css-syntax-3, for token stream
in css-syntax-3, for tokenizer
consume a unicode-range token
consume a url token
consume comments
consume the next input token
consume the remnants of a bad declaration
consume the remnants of a bad url
consume the value of a unicode-range descriptor
contain constraint
containing block
containing block chain
containing block for all descendants
containing block::initial
containment
content
content area
content-based minimum size
in css-flexbox-1
in css-grid-1
content box
content distribution
content-distribution
content-distribution properties
content edge
content height
content language
content (of a box)
content::of a box
content rect
content::rendered
contents
content size suggestion
in css-flexbox-1
in css-grid-1
content width
content writing system
continuous media
'continuous' media group
convert a string to a number
coordinated self-alignment preference
coral
cornflowerblue
cornsilk

counter
counter()
counter properties
counters
counter scope
counter style
counter symbol
cover constraint
create a constructed cssstylesheet
create a css style sheet
create a medialist object
create and populate a resizeobserverentry
creator
crimson
cross axis
cross-axis
cross-axis baseline set
cross dimension
cross-end
cross size
cross size property
cross-start
css bracketed range notation
css color profile
css-connected
css counters set
css declaration
css declaration block
css feature queries
cssfontfacerule
cssfontfeaturevaluesrule
css gamut mapped
css gamut mapping algorithms
css ident
css identifier
css ident sequence
css property to idl attribute
css qualified name
css rule
css rules
css style sheet
css style sheet set
css style sheet set name
css value definition syntax
css-wide keywords
cubic bézier easing function
current
currentcolor
current finished promise
current input code point
current input token
current iteration
current iteration index
currently relevant to the user
current ready promise
current time
in web-animations-1, for animation
in web-animations-1, for timeline
current transformation matrix
current value
cursive
cursive script
custom property
cyan
cyclic percentage size
cylindrical polar color
d50
d65
darkblue
dark color scheme
darkcyan
darkgoldenrod
darkgray
darkgreen
darkgrey
darkkhaki
darkmagenta
darkolivegreen
darkorange
darkorchid
darkred
darksalmon
darkseagreen
darkslateblue
darkslategray
darkslategrey
darkturquoise
darkviolet
declaration
in css-syntax-3, for CSS
in css2
declaration block
declarations
declared
declared value
decode bytes
decorating box
decreasing
deeppink
deepskyblue
default document timeline
default face
default namespace
default object size
default sizing algorithm
default style sheet
definite
in css-flexbox-1
in css-sizing-3
definite column position
definite column span
definite grid position
definite grid span
definite position
definite row position
definite row span
definite size
in css-flexbox-1
in css-sizing-3
definite span
deliver resize loop error notification
descendant
descendant combinator
descendant-selectors
descriptor
descriptor declarations
destination
determine the device pixel ratio
determine the fallback encoding
determine the scroll-into-view position
determine the used color scheme
device pixel
dice
digit
dimension
dimgray
dimgrey
directed progress
direction-agnostic size
directional embedding
directional keyword
directional override
disabled flag
disallow modification flag
discard a mark
discard a token
discard whitespace
discrete
display-p3-linear
display type
distributed alignment
distribute extra space
document
in css-speech-1
in css-style-attr
in cssom-view-1, for MediaQueryList
document for timing
document language
in css2
in selectors-4
document order
document or shadow root css style sheets
document-scoped view transition name
document timeline
document time space
document tree
document white space
document white space characters
dodgerblue
dominant baseline
dynamic view transition style sheet
easing function
east asian width property
edge
effect easing function
effective character map
effective playback rate
effect stack
effect target
effect value
element
in css-display-3, for CSS
in css2
element contents
element::following
element::preceding
element tree
emoji presentation participating code points
empty
in css-syntax-3, for token stream
in css2
emulated forced colors theme data
em (unit)
enable a css style sheet set
enabled css style sheet set
encapsulation contexts
end
end delay
ending edges
ending point
ending shape
ending token
endmost
endpoint-inclusive active interval
end time
in css-transitions-1, for transition
in web-animations-1
in web-animations-1, for animation effect
end value
environment encoding
eof code point
equivalent path
in motion-1, for
in motion-1, for inset()
in motion-1, for rect()
in motion-1, for xywh()
escape a character
escape a character as code point
escaped as code point
escaping
establish an independent formatting context
establish an orthogonal flow
established an independent formatting context
establishes an independent formatting context
establishing an independent formatting context
evaluate media queries and report changes
evaluating a selector
exact matching
excluded subtree
expanded name
explicit grid
explicit grid column
explicit grid properties
explicit grid row
explicit grid track
explicitly-assigned line name
extrinsic sizing
ex (unit)
fallback
fallback alignment
fallback size
false in the negative range
fantasy
far away from the viewport
featureless
feature value block
fetch a css style sheet
fetch a font
fetch an external color profile
fetch an @import
fictional tag sequence
fill mode
filter code points
filtered code points
filter function
filter primitive
filter primitive attributes
filter primitive subregion
filter primitive tree
filter region
final css style sheets
find the matching font faces
finish an animation
finished
finished promise
finish event
finish notification steps
fire a font load event
firebrick
:first
first available font
first-baseline alignment
first-baseline content-alignment
first baselines
first-baseline self-alignment
first baseline set
:first-child
first-child
first cross-axis baseline set
first formatted line
:first-letter
first-letter
:first-line
first-line
first main-axis baseline set
first symbol value
fit-content block size
fit-content inline size
fit-content size
fixed position
fixed-positioned
fixed-positioned box
fixed positioning containing block
fixed sizing function
flex base size
flex basis
flex container
flex direction
flex factor
in css-flexbox-1
in css-grid-1, for grid-template-columns, grid-template-rows
flex factor sum
flex formatting context
flex fraction
flex grow factor
flexible
flexible length
flexible sizing function
flexible tracks
flex item
flex layout
flex-level
flex line
flex shrink factor
float area
float rules
floralwhite
flow layout
flow of an element
flow-relative
flow-relative direction
flush the update callback queue
:focus
focus
focus (pseudo-class)
following element
font block period
font download timer
font failure period
font feature value block
font feature value declaration
font-relative lengths
font source
font specific
font swap period
footnote
forced break
forced break values
forced colors mode
forced colors mode emulation color palettes
forced line break
forced paragraph break
forestgreen
formatting context
formatting structure
forward-compatible parsing
forwards
fragment
fragmentainer
fragmentation
fragmentation break
fragmentation container
fragmentation context
fragmentation direction
fragmentation root
fragmented flow
free space

fuchsia
full-size
full-size kana
full-width
fully clipped
fully inflexible
fully visible
function
functional notation
functional pseudo-class
functional pseudo-element
gainsboro
gamut
gamut-map
gather active observations at depth
gather active resize observations
gather active resize observations at depth
general category
generate a counter
generate a counter representation
generate baselines
generated content

get emulated forced colors theme data
get the bounding box
ghostwhite
global animation list
global view transition user agent style sheet
go
gold
goldenrod
gradient-average-color
gradient box
gradient center
gradient function
gradient line
grapheme cluster
gray
graytext
green
greenyellow
grey
grid
grid area
grid cell
grid column
grid column line
grid container
grid formatting context
grid item
grid item placement algorithm
grid layout
grid layout algorithm
grid-level
grid line
'grid' media group
grid-modified document order
grid order
grid placement
grid-placement property
grid position
grid row
grid row line
grid sizing algorithm
grid span
grid track
group animation name rule
group keyframes
group styles rule
growth limit
guaranteed-invalid value
gutter
half-width
handle transition frame
hang
hanging glyph
has active observations
has active resize observations
:has-allowed pseudo-element
has skipped observations
has skipped resize observations
height
in css-sizing-3
in css-writing-modes-4
in cssom-view-1, for supported open() feature name
hex color
hex color notation
hex digit
highlight
highlighttext
hold time
honeydew
horizontal axis
horizontal-axis
horizontal block flow
horizontal dimension
horizontal offset
horizontal-only
horizontal script
horizontal typographic mode
horizontal writing mode
host language
host syntax
hotpink
:hover
hover (pseudo-class)
html-compatible serialization is requested
http-default-style
hyphenate
hyphenation
hyphenation opportunity
hyphen-separated matching
hypothetical cross size
hypothetical fr size
hypothetical main size
ident
ident code point
identifier
in css-values-3, for CSS
in css2
identity transform
identity transform function
ident sequence
ident-start code point
idl attribute name to animation property name
idl attribute to css property
idle
idle phase
id selector
ignore
ignored
ignore unknown
ignore valid
illegal
image animation name rule
image pair isolation rule
implicit grid
implicit grid column
implicit grid lines
implicit grid properties
implicit grid row
implicit grid track
implicitly-assigned line name
implicitly-named area
@import
important
important flag
import conditions
inactiveborder
inactivecaption
inactivecaptiontext
inactive timeline
increasing
indefinite
in css-flexbox-1
in css-sizing-3
indefinite size
in css-flexbox-1
in css-sizing-3
independent formatting context
index
indianred
indicate focus
indigo
in effect
infinitely growable
in flow
in-flow
infobackground
infotext
in-gamut
inherit
in css-cascade-5
in css-cascade-5, for CSS
inheritance
in css-cascade-5
in css-cascade-5, for CSS
inherit counters
inherited property
inherited value
initial containing block
initial fixed containing block
initial free space
initial representation for the counter value
initial snapshot containing block size
initial value
inline
inline axis
inline-axis
inline base direction
inline block
inline-block
inline block box
inline box
inline dimension
inline end
inline-end
inline formatting context
inline-level
inline-level box
inline-level boxes
inline-level content
inline-level element
inline-level elements
inline size
inline-size
inline-size containment
inline start
inline-start
inlinification
inlinify
inner block size
inner box-shadow
inner display type
inner edge
inner height
inner inline size
innermost
inner size
inner width
in play
input progress value
input stream
input value pseudo-classes
insert a css rule
inset-modified containing block
inset properties
installed font fallback
instantiate counter
instant scroll
integer
intended direction
intended direction and end position
intended end position
'interactive media group
internal ruby box
internal ruby element
internal table box
internal table element
interpolation color space
interpreter
in css-namespaces-3
in css-style-attr
intrinsic dimensions
intrinsic size
intrinsic size constraint
intrinsic size contribution
intrinsic sizing
intrinsic sizing function
invalid
invalid at computed-value time
invalid color
invalid image
invalid rule error
invalid selector
invisible
invisible box
isolated sequence
isolation
iteration count
iteration duration
iteration index
iteration interval
iteration order
iteration progress
iteration start
iteration time
iteration time space
ivory
japanese
justification opportunity
keyframe
keyframe effect
keyframe offset
keyframe-specific composite operation
keyframe-specific easing function
keyword
khaki
known
korean
:lang
lang (pseudo-class)
language range
last-baseline alignment
last-baseline content-alignment
last baselines
last-baseline self-alignment
last baseline set
last cross-axis baseline set
last css style sheet set name
last main-axis baseline set
lavender
lavenderblush
lawngreen
layer name
laying out in-place
layout containment
layout containment box
layout-internal
layout viewport
:left
left
in css-writing-modes-4
in cssom-view-1, for supported open() feature name
leftover space
legacy color syntax
legacy name alias
legacy selector alias
legacy shorthand
legacy value alias
lemonchiffon
letter
in css-syntax-3
in css-text-3
lightblue
light color scheme
lightcoral
lightcyan
lightgoldenrodyellow
lightgray
lightgreen
lightgrey
lightpink
lightsalmon
lightseagreen
lightskyblue
lightslategray
lightslategrey
light source
lightsteelblue
lightyellow
lime
limegreen
limited max-content contribution
limited min-content contribution
linear easing function
linear timing function
line box
line break
in css-break-3
in css-text-3
line breaking
line breaking process
line-left
linen
line name
line name set
line orientation
line-over
line-relative
line-relative direction
line-right
line-under
:link
link (pseudo-class)
list item
list-item
list of complex selectors
list of compound selectors
list of selectors
list of simple selectors
list properties
loading image
local coordinate system
local time
local time space
local url flag
location
logical combination pseudo-classes
logical height
logical property group
logical width
longer
longhand
longhand property
loosely sorted by offset
lowercase letter
luminance
magenta
main axis
main-axis
main-axis baseline set
main dimension
main-end
main size
main size property
main-start
map document language elements to table elements
mapping logic
margin
margin area
margin box
margin edge
margin (of a box)
margin::of a box
margin properties

mark
marked indexes
marker
marker box
marker image
marker string
maroon
mask border image
mask border image area
mask image
mask layer image
mask painting area
mask-position
mask positioning area
mask-size
match
in css2
in selectors-4
match a complex selector against an element
match a selector against an element
match a selector against a pseudo-element
match a selector against a tree
matches state
matching transition delay
matching transition duration
matching transition-property value
matching transition timing function
max-content
max-content block size
max-content block-size contribution
max-content constraint
max-content contribution
max-content inline size
max-content inline-size contribution
max-content size
max cross size
max cross size property
max height
maximum allowed code point
maximum height
maximum size
maximum width
max inner height
max inner width
max main size
max main size property
max size
max size property
max track sizing function
max width
may
media
in css2
in cssom-1, for CSSStyleSheet
in cssom-view-1, for MediaQueryList
media condition
media-dependent import
media feature
media group
media groups
media query
media query list
in cssom-view-1, for MediaQueryList
in mediaqueries-4
media query modifier
media type
mediumaquamarine
mediumblue
mediumorchid
mediumpurple
mediumseagreen
mediumslateblue
mediumspringgreen
mediumturquoise
mediumvioletred
menutext
message entity
midnightblue
min-content
min-content block size
min-content block-size contribution
min-content constraint
min-content contribution
min-content inline size
min-content inline-size contribution
min-content size
min cross size
min cross size property
minde
min height
minimum contribution
minimum height
minimum size
minimum width
min inner height
min inner width
min main size
min main size property
min size
min size property
mintcream
min track sizing function
min width
missing color component
mistyrose
moccasin
modern color syntax
monolithic
monospace
monotonically increasing timeline
multicol container
multi-col line
multicol line
multi-column container
multi-column formatting context
multi-column layout
multi-column line
multi-column spanner
multi-column spanning element
multi-line flex container
multiple declarations
multiply
must
must not
naively converted to cmyk
naively converted to rgba
naively convert from cmyk to rgba
naively convert from rgba to cmyk
name
named cell token
named color
named elements
named grid area
named view transition pseudo-elements
namespace prefix
name-start code point
natural aspect ratio
natural dimension
natural end-point
natural height
natural size
natural width
navajowhite
navy
nearest neighbor
neutral value for composition
new element
newline
next input code point
next input token
next-sibling combinator
next token
non-ascii code point
non-ascii ident code point
none
'none'::as display value
non-overridable counter-style names
non-printable code point
non-replaced
non-replaced element
normal
in css-cascade-5
in web-animations-1, for playback direction
normalize into a token stream
normalize non-finite values
not animatable
not determined
null cell token
number
numeric data types
objects
object size negotiation
occupied
offset anchor point
offset distance
offsetk
offset path
offset position
offset starting position
offset transform
old backdrop-filter
old color-scheme
old direction
old height
old image
oldlace
old mix-blend-mode
old text-orientation
old transform
old width
old writing-mode
olive
olivedrab
opacity
opaque black
operating coordinate space
optimal viewing region
optional
orange
orangered
orchid
order-modified document order
origin
original containing block
originally specified color space
originating element
originating pseudo-element
origin-clean flag
origin color
origin time
orthogonal
orthogonal flow
other space separators
outer block size
outer box-shadow
outer display type
outer edge
outer height
outer inline size
outer size
outer width
outline
out of flow
out-of-flow
out of gamut
output of the cascade
output progress value
outset-adjusted border radius
over
overall progress
overflow
overflow alignment
overflow columns
overflow directions
override the color scheme
owner css rule
owner node
in cssom-1, for CSSStyleDeclaration
in cssom-1, for CSSStyleSheet
padding
padding area
padding box
padding edge
padding (of a box)
padding::of a box
padding properties

@page
page area
page box
page break
page context
page-context
paged media
'paged' media group
page selector
page's supported color schemes
page zoom
pagination
paint containment
paint containment box
palegoldenrod
palegreen
paleturquoise
palevioletred
papayawhip
parent
parent box
parent css rule
in cssom-1, for CSSRule
in cssom-1, for CSSStyleDeclaration
parent css style sheet
in cssom-1, for CSSRule
in cssom-1, for CSSStyleSheet
parse
parse a block's contents
parse a comma-separated list according to a css grammar
parse a comma-separated list of component values
parse a component value
parse a css value
parse a css declaration block
parse a css rule
parse a css stylesheet
parse a css value
parse a declaration
parse a group of selectors
parse a list
parse a list of component values
parse a list of css page selectors
parse a list of declarations
parse a list of rules
parse a media query
parse a media query list
parse a relative selector
parse a rule
parse as a forgiving selector list
parse a selector
parse a style block's contents
parse a stylesheet
parse a stylesheet's contents
parse error
parse something according to a css grammar
parsing a list
partially visible
participates in baseline alignment
pass through filter
pause an animation
paused
peachpuff
pending animation event queue
pending on the environment
pending pause task
pending playback rate
pending play task
pending scrollend event targets
pending scroll events
pending scroll event targets
pending-substitution value
percentage
perform a scroll
in cssom-view-1
in cssom-view-1, for viewport
perform pending transition operations
persisted replace state
persistent css style sheet
perspective matrix
peru
phase
physical
physical bottom
physical dimensions
physical direction
physical left
physical right
physical top
physical unit
pink
pixel
pixel unit
play an animation
playback control
playback direction
playback rate
play state
plum
positional alignment
position box
positioned
positioned box
positioned element/box
positioning scheme
positioning schemes:
post-multiplied
post-multiply
potentially scrollable
powderblue
powerless color component
preceding element
preferred aspect ratio
preferred color scheme
preferred css style sheet set name
preferred height
preferred order
preferred size
preferred size property
preferred width
pre-multiplied
premultiplied
pre-multiply
preserved tokens
preserved white space
previous current time
primary filter primitive tree
principal block-level box
principal box
principal writing mode
priority candidates
process
process a keyframe-like object
process a keyframes argument
prolog
propagate
propagation
proper table child
proper table row parent
property
in css-cascade-5, for CSS
in css2
property declarations
property name
proximity to the viewport
pseudo-class
pseudo-classes
pseudo-classes:::active
pseudo-classes:::focus
pseudo-classes:::hover
pseudo-classes:::lang
pseudo-classes:::link
pseudo-classes:::visited
pseudo-class:::first
pseudo-class:::left
pseudo-class:::right
pseudo-compound selector
pseudo-element root
pseudo-elements
in css2
in selectors-4
pseudo-elements:::after
in css2
in css2
pseudo-elements:::before
in css2
in css2
pseudo-elements:::first-letter
pseudo-elements:::first-line
pseudo-element tree
purple
quad width
qualified rule
range context
ray trace gamut map
readonly flag
ready
ready promise
recommended
reconsume the current input code point
reconsume the current input token
rectangular orthogonal color
red
reference box
in css-shapes-1, for
in css-transforms-1
reference pixel
region break
relative color
relative length
relative length unit
relatively position
relatively-positioned
relatively positioned box
relative position
relative positioning
relative scroll
relative selector
relative selector anchor elements
relative units
relevant
relevant animations
relevant animations for a subtree
relevant to the user
remaining fragmentainer extent
remaining free space
remove a css rule
remove a css style sheet
removed replace state
remove event
remove replaced animations
rendered content
rendering suppression for view transitions
render with a fallback font face
render with an invisible fallback font face
repeatable list
replaceable animation
replaced
replaced element
replace state
representation
required
required conversion
reset an animation's pending tasks
reset-only sub-property
re-snap
resolved type
resolved value
resolved value special case property
resolved value special case property like color
resolved value special case property like height
resolved value special case property like top
resolve to srgb
restore a mark
reverse
reverse an animation
reversed
reversing-adjusted start value
reversing shortening factor
:right
right
root
root element
rosybrown
row group box
row groups
royalblue
rule
rule set
rules on anonymous table objects
run-in
run-in box
run-in sequence
running
running transition
run snapshot post-layout state steps
run the resize steps
run the scroll steps
saddlebrown
salmon
sandybrown
sans-serif
scaled flex shrink factor
scale factor
scheduled event time
schedule the update callback
scope
scoped
scoped properties
scoped property
scoped selector
scoped to an element
scoped to an element's sub-tree
scoped to a sub-tree
scoped to the element
scoped to the element's sub-tree
scoped to the sub-tree
scoping root
screen reader
script property
scroll anchoring bounding rect
scroll an element
scroll a target into view
scrollbar
scroll completed
scrolling area
scrolling area origin
scrolling box
scroll snap
scroll snap area
scroll snap container
scroll snapport
scroll snap position
scroll to the beginning of the document
seagreen
seamlessly update the playback rate
seashell
seek
segment break
select a css style sheet set
selector
in css2
in selectors-4
selector list
selector::match
selector matches
selector::subject of
self-alignment
self-alignment properties
semitone
separated borders model
sequence of simple selectors
serialize a comma-separated list
serialize a css component value
serialize a css declaration
serialize a css declaration block
serialize a css rule
serialize a css value
serialize a function
serialize a group of selectors
serialize a list of css page selectors
serialize a local
serialize a media feature value
serialize a media query
serialize a media query list
serialize an value
serialize an identifier
serialize as a string
serialize a selector
serialize a simple selector
serialize a string
serialize a url
serialize a whitespace-separated list
serif
set
set a css declaration
set emulated forced colors theme data
set entries
set the associated effect of an animation
set the current time
set the playback rate
set the start time
set the timeline of an animation
set up browsing context features
setup transition pseudo-elements
setup view transition
shall
shall not
shared alignment context
sheet
sheets
shorter
shorthand
shorthand properties
shorthand property
should
should not
show view transition tree
sibling
sideways typesetting
sienna
silently set the current time
silver
simple block
simple iteration progress
simple selector
in css2
in selectors-4
single-line flex container
size
size containment
size containment box
sizing as if empty
sizing function
sizing property
skip its contents
skipped contents
skipping its contents
skips its contents
skip the view transition
skyblue
slateblue
slategray
slategrey
small
small kana
smooth scroll
smooth scroll aborted
smooth scroll completed
snapshot containing block
snapshot containing block origin
snapshot containing block size
snow
soft wrap break
soft wrap opportunity
source
source document
spaces
space-separated matching
space to fill
span count
specificity

specified order
specified size
specified size suggestion
in css-flexbox-1
in css-grid-1
specified value
specified values
'speech' media group
spread break
spread distance
springgreen
srgb
srgb-linear
stacking context
stack level
start
start delay
starting point
startmost
starts with an ident sequence
starts with a number
starts with a valid escape
start time
in css-transitions-1, for transition
in web-animations-1, for animation
start value
start with an ident sequence
start with a number
statement at-rule
'static' media group
static position
static-position containing block
static-position rectangle
in css-align-3
in css-position-3
stationary scroll
steelblue
step easing function
step position
steps
sticky position
sticky-positioned
sticky-positioned box
sticky view rectangle
stop or comma
stretched
stretch fit
stretch-fit block size
stretch-fit inline size
stretch-fit size
strictness value

stringification behavior
stroke bounding box
stronger inset
structural pseudo-classes
stuck on the environment
style attribute
style change event
style containment
style definitions
style rule
style sheet
in css-namespaces-3
in css-speech-1
in css2
stylesheet
stylesheet base url
subject
subject of a selector
subject (of selector)
subject of the selector
subjects
subjects of the selector
sub-property
sub-pseudo-element
subsequent-sibling combinator
substitute a var()
support
in css-conditional-3, for CSS
in css-fonts-4
support a css selector
supported css property
supported open() feature name
supported styling language
support legacy color syntax
supports queries
suppression trigger
suppression window
svg layout box
svg viewport origin box
switch the fontfaceset to loaded
switch the fontfaceset to loading
synchronously replace the rules of a cssstylesheet
synthesize baseline
synthesized baseline
system color pairings
system colors
system fonts
table
table caption box
table element
table grid box
tables
table wrapper box
tabs
tab size
tab stop
tabular container
'tactile' media group
tagged image
tan
target element
target main size
target property
target pseudo-selector
teal
text
text/css
text node
text sequence
textual data types
thistle
threeddarkshadow
threedface
threedhighlight
threedlightshadow
threedshadow
thumb