# CSS Snapshot 2017

## W3C Note, 1 January 1970

This version:
  https://www.w3.org/TR/1970/NOTE-css-2017-0-19700101/
Latest published version:
  https://www.w3.org/TR/CSS/
Editor's Draft:
  https://drafts.csswg.org/css-2017/
Editors:
  Tab Atkins Jr. (Google)
  Elika J. Etemad / fantasai (Invited Expert)
  Florian Rivoal (Invited Expert)
Issue Tracking:
  GitHub Issues
Suggest an Edit for this Spec:
  GitHub Editor

Copyright © 1970 W3C® (MIT, ERCIM, Keio, Beihang). 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 2017. 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 document represents the state of CSS as of 2017. The CSS Working Group does not expect any further changes to this document: new snapshots will be published at https://www.w3.org/TR/CSS/ as CSS advances.

## 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 mid 2017. 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.

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.

### 1.1. 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. Cascading Style Sheets (CSS) — The Official Definition

As of 2017, 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, defining 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 [CSS3-CONDITIONAL]
  Replaces CSS2§7.2, updating the definition of @media rules to allow nesting, and introduces @supports rules for feature-support queries.
CSS Namespaces [CSS3-NAMESPACE]
  Introduces an @namespace rule to allow namespace-prefixed selectors.
Selectors Level 3 [SELECT]
  Replaces CSS2§5 and CSS2§6.4.3, defining an extended range of selectors.
CSS Cascading and Inheritance Level 3 [CSS-CASCADE-3]
  Replaces CSS2§1.4.3 and CSS2§6
CSS Values and Units Level 3 [CSS-VALUES-3]
  Replaces 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 Color Level 3 [CSS3-COLOR]
  Replaces CSS2§4.3.6, CSS2§14.1, and CSS2§18.2, defining an extended range of color values. Also introduces the opacity property.
CSS Backgrounds and Borders Level 3 [CSS3-BACKGROUND]
  Replaces CSS2§8.5 and CSS2§14.2, providing more control of backgrounds and borders, including layered background images, image borders, and drop shadows.
CSS Image Values and Replaced Content Level 3 [CSS3-IMAGES]
  Provides a new foundation text for the sizing of replaced elements (such as images), adds additional controls to their sizing and orientation, and introduces syntax for gradients as images in CSS.
CSS Fonts Level 3 [CSS-FONTS-3]
  Replaces CSS2§15 and provides more control over font choice and feature selection.
CSS Multi-column Layout Level 1 [CSS3-MULTICOL]
  Introduces multi-column flows to CSS layout.
CSS User Interface Module Level 3 [CSS-UI-3]
  Replaces CSS2§18.1 and CSS2§18.4, defining cursor, outline, and several new CSS features that also enhance the user interface.
CSS Compositing and Blending Level 1 [COMPOSITING]
  Defines the compositing and blending of overlaid content and introduces features to control their modes.
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).

The following modules are widely deployed with rough interoperability, but the details are not fully worked out and they need more testing and bugfixing.

CSS Transitions Level 1 [CSS3-TRANSITIONS] and CSS Animations Level 1 [CSS3-ANIMATIONS]
  Define mechanisms for transitioning the computed values of CSS properties over time.
CSS Flexible Box Module Level 1 [CSS-FLEXBOX-1]
  Introduces a flexible linear layout model for CSS.
CSS Transforms Level 1 [CSS3-TRANSFORMS]
  Introduces graphical transformations to CSS.
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 Text Module Level 3 [CSS-TEXT-3]
  Defines properties for text manipulation and specifies their processing model. It covers line breaking, justification and alignment, white space handling, and text transformation.

The following modules have completed design work, and are fairly stable, but have not received much testing and implementation experience yet:

CSS Counter Styles Level 3 [CSS-COUNTER-STYLES-3]
  Expands the possible values of <counter-style> and provides an @counter-style syntax for customized counter styles.
CSS Masking Level 1 [CSS-MASKING-1]
  Replaces CSS2§11.1.2 and introduces more powerful ways of clipping and masking content.
CSS Shapes Module Level 1 [CSS-SHAPES-1]
  Extends floats to effect non-rectangular wrapping shapes.
CSS Text Decoration Level 3 [CSS-TEXT-DECOR-3]
  Replaces CSS2§16.3, providing more control over text decoration lines and adding the ability to specify text emphasis marks and text shadows.
CSS Will Change Level 1 [CSS-WILL-CHANGE-1]
  Introduces a performance hint property called will-change.

CSS Speech Module Level 1 [CSS3-SPEECH]
  Replaces CSS2§A, overhauling the (non-normative) speech rendering chapter.
CSS Box Alignment Module Level 3 [CSS-ALIGN-3]
  Contains the features of CSS relating to the alignment of boxes within their containers in the various CSS box layout models: block layout, table layout, flex layout, and grid layout.
CSS Grid Layout Module Level 1 [CSS-GRID-1]
  Defines 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.
Filter Effects Module Level 1 [FILTER-EFFECTS-1]
  Filter effects are a way of processing an element’s rendering before it is displayed in the document.
CSS Fragmentation Module Level 3 [CSS-BREAK-3]
  Describes the fragmentation model that partitions a flow into pages, columns, or regions.

  We hope to incorporate them into a future snapshot.

A list of all CSS modules, stable and in-progress, and their statuses can be found at the CSS Current Work page.

### 2.1. 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.2. 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.

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.

The current list of pre-CR features approved for wide release consists of:

- CSS Animations [CSS3-ANIMATIONS]
- CSS Transitions [CSS3-TRANSITIONS]
- CSS Transforms [CSS3-TRANSFORMS]
- The min-content, max-content, and fit-content keywords from [CSS-SIZING-3]
- The :dir() and :lang() selectors from [SELECTORS4]

#### 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 stabilized yet), yet

- 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 sanity 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 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.

Further information on submitting testcases and implementation reports can be found from on the CSS Working Group’s website at http://www.w3.org/Style/CSS/Test/. Questions should be directed to the public-css-testsuite@w3.org mailing list.

## 4. Indices

These sections are non-normative.

### 4.1. Terms Index

- 100...900 weight values
- 1st <length>
- 2d matrix
- 2nd <length>
- 3rd <length>
- 4th <length>
- a
- absolute length
- absolutely positioned element
- abstract dimensions
- activeborder
- activecaption
- active duration
- actual value
- additive tuple
- adjoining
- advance measure
- after-change style
- aliceblue
- alignment baseline
- alignment container
- alignment context
- alignment subject
- all-petite-caps
- all-small-caps
- alphabetic baseline
- an+b
- anchor
- anchor unit
- animation origin
- animation-tainted
- antiquewhite
- appworkspace
- aqua
  - in css-color-3
  - in css-color-3
- aquamarine
- are a valid escape
- ascii case-insensitive
- as conformance class
  - in css-fonts-3
  - in css-images-3
  - in css-speech-1
- aspect value
- atomic inline-level boxes
- at-rule
  - in css-syntax-3
  - in css-syntax-3, for CSS
- augmented grid
- aural "box" model
- authoring tool
  - in css-fonts-3
  - in css-images-3
  - in css-speech-1
- author origin
- author style sheet
- auto!!font-kerning
- automatic column position
- automatic grid position
- automatic placement
- automatic position
- automatic row position
- auto-placement
- auto-placement cursor
- available grid space
- avoid break values
- azure
- b
- backdrop
- background
- background painting area
- background positioning area
- baseline
- baseline alignment
- baseline alignment preference
- baseline content-alignment
- baseline self-alignment
- baseline set
- baseline-sharing group
- baseline table
- base size
- bearing angle
- before-change style
- beige
- bidi formatting characters
- bidi-isolate
- bidi-isolated
- bidi isolation
- bidi paragraph
- bidirectionality
- bi-orientational
- bi-orientational transform
- bisque
- black
  - in css-color-3
  - in css-color-3
- blanchedalmond
- block axis
- block-axis
- block boxes
- block container box
- block dimension
- block end
- block-end
- block flow direction
- block-level boxes
- block-level elements
- block scripts
- block size
- block-size
- block start
- block-start
- blue
  - in css-color-3
  - in css-color-3
- blueviolet
- blur radius
- bold
- bolder
- border
  - in css-speech-1
  - in css2
- border box
- border-box
- border image area
- border radius
- bottom
- box alignment properties
- box-corner
- box fragment
- break
- brown
- burlywood
- buttonface
- buttonhighlight
- buttonshadow
- buttontext
- cadetblue
- cancel
- canonical unit
- canvas
- captiontext
- cascade
  - in css-cascade-3
  - in css-speech-1
- cascaded value
- cascade origin
- central baseline
- character
  - in css-text-3
  - in css-text-decor-3
- character map
- chartreuse
- check if three code points would start an identifier
- check if three code points would start a number
- check if two code points are a valid escape
- child combinator
- chinese
- chocolate
- circled-lower-latin
- clamp a grid area
- clearance.
- clipping path
- clipping region
- closest-side
- clustered scripts
- code point
- collapse
- collapsed flex item
- collapsed gutter
- collapsed margin
- collapsed track
- collapse through
- collapsible
- collapsible white space
- color stop
- color stop list
- column axis
- column box
- column break
- column gap
- column height
- column row
- column rule
- column width
- combinators
  - in css2
  - in selectors-3
- combined duration
- common-ligatures
- compatible baseline alignment preferences
- compatible units
- complete
- completed transition
- component value
  - in css-syntax-3
  - in css-syntax-3, for CSS
- composite face
- computed track list
- computed value
- concrete object size
- condensed
- conditional group rule
- conditional group rules
- conformance::authoring tool
- conformance::processor
- conformance::style sheet
- constraint rectangle
- consume a component value
- consume a declaration
- consume a function
- consume a list of declarations
- consume a list of rules
- consume a name
- consume an at-rule
- consume an escaped code point
- consume an ident-like token
- consume a number
- consume a numeric token
- consume a qualified rule
- consume a simple block
- consume a string token
- consume a token
- consume a unicode-range token
- consume a url token
- consume comments
- consume the next input token
- consume the remnants of a bad url
- contain constraint
- containing block
  - in css2
  - in css2
- containing block for all descendants
- content
- content area
- content-based minimum size
  - in css-flexbox-1
  - in css-grid-1
- content box
- content-box
- content-distribution
- content-distribution properties
- content height
- content language
  - in css-text-3
  - in css-text-decor-3
- content size suggestion
  - in css-flexbox-1
  - in css-grid-1
- content width
- content writing system
- contextual
- convert a string to a number
- coordinated self-alignment preference
- coral
- cornflowerblue
- cornsilk
- counter style
- counter symbol
- cover constraint
- crimson
- cross axis
- cross-axis
- cross-axis baseline set
- cross dimension
- cross-end
- cross size
- cross-size
- cross size property
- cross-start
- css
- css bracketed range notation
- cssconditionrule
- cssfontfacerule
- cssgroupingrule
- css ident
- css identifier
- cssmediarule
- css qualified name
- csssupportsrule
- css-wide keywords
- currentcolor
- current input code point
- current input token
- current transformation matrix
- current tuple
- current value
- cursive
- cursive script
- custom property
- cyan
- darkblue
- darkcyan
- darkgoldenrod
- darkgray
- darkgreen
- darkgrey
- darkkhaki
- darkmagenta
- darkolivegreen
- darkorange
- darkorchid
- darkred
- darksalmon
- darkseagreen
- darkslateblue
- darkslategray
- darkslategrey
- darkturquoise
- darkviolet
- declaration
  - in css-syntax-3
  - in css-syntax-3, for CSS
- declaration block
- declared
- declared value
- decode
- decorating box
- deeppink
- deepskyblue
- default face
- default namespace
- default object size
- default sizing algorithm
- default style sheet
- definite
- definite column position
- definite column span
- definite grid position
- definite grid span
- definite position
- definite row position
- definite row span
- definite size
- definite span
- descriptor_declaration
- destination
- determine the fallback encoding
- diagonal-fractions
- dice
- digit
- dimension
- dimgray
- dimgrey
- directional embedding
- directional override
- discretionary-ligatures
- display
- distributed alignment
- distribute extra space
- document
  - in css-backgrounds-3
  - in css-speech-1
  - in css-style-attr-1
- documents
- document white space
- document white space characters
- dodgerblue
- dominant baseline
- east asian width property
- effective character map
- empty float area
- end
- ending point
- ending shape
- ending token
- end of the range
- end time
- end value
- environment encoding
- eof code point
- escaping
- establish an orthogonal flow
- expanded
- expanded name
- explicit grid
- explicit grid properties
- extra-condensed
- extra-expanded
- fallback alignment
- fantasy
- farthest-side
- filter primitive
- filter primitive attributes
- filter primitive subregion
- filter primitive tree
- filter region
- firebrick
- first available font
- first-baseline alignment
- first-baseline content-alignment
- first baselines
- first-baseline self-alignment
- first baseline set
- first cross-axis baseline set
- first formatted line
- first main-axis baseline set
- first symbol value
- 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
  - in css-flexbox-1
  - in css-grid-1
- flexible sizing function
- flexible tracks
- flex item
- flex layout
- flex-level
- flex line
- flex shrink factor
- float area
- floralwhite
- flow of an element
- flow-relative
- flow-relative direction
- focus
- font_face_rule
- font_face_sym
- font-family
- font-kerning
  - in css-fonts-3
  - in css-fonts-3
  - in css-fonts-3
- font-relative lengths
- font-size-adjust
- font-stretch
- font-style
- font-variant-caps
- font-variant-east-asian
- font-variant-ligatures
  - in css-fonts-3
  - in css-fonts-3
- font-variant-numeric
- font-variant-position
- font-weight
- footnote
- forced break
- forced break values
- forced line break
- forced paragraph break
- forestgreen
- formatting structure
- forward-compatible parsing
- fragment
- fragmentainer
- fragmentation
- fragmentation break
- fragmentation container
- fragmentation context
- fragmentation direction
- fragmentation root
- fragmented flow
- free space
- frequency
- fuchsia
  - in css-color-3
  - in css-color-3
- full-size
- full-size kana
- full-width
- fully inflexible
- function
  - in css-syntax-3
  - in css-syntax-3, for CSS
- functional notation
- gainsboro
- general category
- general_enclosed
- generate a counter
- generate a counter representation
- generate baselines
- get an encoding
- ghostwhite
- go
- gold
- goldenrod
- gradient-average-color
- gradient box
- gradient center
- gradient line
- gradient ray
- grapheme cluster
- gray
  - in css-color-3
  - in css-color-3
- graytext
- green
  - in css-color-3
  - in css-color-3
- 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-level
- grid line
- 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 rule body
- group_rule_body
- growth limit
- gutter
- hang
- height
- hex digit
- highlight
- highlighttext
- historical-ligatures
- honeydew
- horizontal axis
- horizontal block flow
- horizontal dimension
- horizontal offset
- horizontal-only
- horizontal script
- horizontal writing mode
- hotpink
- hyphenate
- hyphenation
- hyphenation opportunity
- hypothetical cross size
- hypothetical fr size
- hypothetical main size
- ident
- identifier
  - in css-speech-1
  - in css-syntax-3
  - in css-values-3
- identifiers
- identity transform function
- ignore
- ignored
- implicit grid
- implicit grid column
- implicit grid lines
- implicit grid properties
- implicit grid row
- implicit grid track
- implicit named area
- implicit named line
- !important
- important
- import conditions
- inactiveborder
- inactivecaption
- inactivecaptiontext
- indefinite
- indefinite size
- indianred
- indigo
- infinitely growable
- in-flow
- infobackground
- infotext
- inherit
- inheritance
- inherited property
- inherited value
- initial containing block
- initial free space
- initial representation for the counter value
- initial value
- inline axis
- inline-axis
- inline base direction
- inline box
- inline dimension
- inline end
- inline-end
- inline-level boxes
- inline-level elements
- inline size
- inline-size
- inline start
- inline-start
- inner box-shadow
- input stream
- integer
  - in css-speech-1
  - in css-values-3
- internal table element
- interpreter
  - in css-namespaces-3
  - in css-style-attr-1
- intrinsic aspect ratio
- intrinsic dimensions
- intrinsic height
- intrinsic resolution
- intrinsic sizing function
- intrinsic width
- invalid
- invalid at computed-value time
- invalid image
- isolated sequence
- isolation
- italic
- ivory
- japanese
- jis04
- jis78
- jis83
- jis90
- justification opportunity
- khaki
- known
- korean
- last-baseline alignment
- last-baseline content-alignment
- last baselines
- last-baseline self-alignment
- last baseline set
- last cross-axis baseline set
- last main-axis baseline set
- lavender
- lavenderblush
- lawngreen
- left
- leftover space
- lemonchiffon
- [<length> | <percentage>]{2}
- letter
  - in css-syntax-3
  - in css-text-3
  - in css-text-decor-3
- lightblue
- lightcoral
- lightcyan
- lighter
- lightgoldenrodyellow
- lightgray
- lightgreen
- lightgrey
- lightpink
- lightsalmon
- lightseagreen
- lightskyblue
- lightslategray
- lightslategrey
- light source
- lightsteelblue
- lightyellow
- lime
  - in css-color-3
  - in css-color-3
- limegreen
- limited max-content contribution
- limited min-content contribution
- line box
- line break
  - in css-break-3
  - in css-text-3
- line breaking
- line breaking process
- line-left
- linen
- line name set
- line orientation
- line-over
- line-relative
- line-relative direction
- line-right
- line-under
- lining-nums
- list properties
- list-style-image
- list-style-type
- local coordinate system
- local url flag
- logical height
- logical width
- longhand
- longhand property
- lowercase letter
- magenta
- main axis
- main-axis
- main-axis baseline set
- main dimension
- main-end
- main size
- main-size
- main size property
- main-start
- margin
  - in css-speech-1
  - in css2
- margin box
- margin-box
- maroon
  - in css-color-3
  - in css-color-3
- mask border image
- mask border image area
- mask image
- mask layer image
- mask painting area
- mask-position
- mask positioning area
- mask-size
- matches
- matching transition delay
- matching transition duration
- matching transition-property value
- matching transition timing function
- max cross size
- max cross size property
- maximum allowed code point
- max inner height
- max inner width
- max main size
- max main size property
- max track sizing function
- media
- '@media' rule
- mediumaquamarine
- mediumblue
- mediumorchid
- mediumpurple
- mediumseagreen
- mediumslateblue
- mediumspringgreen
- mediumturquoise
- mediumvioletred
- menu
- menutext
- midnightblue
- min cross size
- min cross size property
- minimum contribution
- min inner height
- min inner width
- min main size
- min main size property
- min-size contribution
- mintcream
- min track sizing function
- mistyrose
- moccasin
- monolithic
- monospace
- multicol container
- multi-column container
- multi-column layout
- multi-line flex container
- multiply
- name code point
- named cell token
- named grid area
- named line
- namespace prefix
- name-start code point
- navajowhite
- navy
  - in css-color-3
  - in css-color-3
- nested_statement
- newline
- next input code point
- next input token
- next-sibling combinator
- no-common-ligatures
- no-contextual
- no-discretionary-ligatures
- no-historical-ligatures
- non-ascii code point
- none!!font-kerning
- none!!font-size-adjust
- none!!font-variant-ligatures
- non-negative-number
- non-printable code point
- normal!!font-kerning
- normal!!font-stretch
- normal!!font-style
- normal!!font-variant-caps
- normal!!font-variant-east-asian
- normal!!font-variant-ligatures
- normal!!font-variant-numeric
- normal!!font-variant-position
- normal!!font-weight
- null cell token
- number
  - in css-speech-1
  - in css-values-3
- numeric data types
- objects
- object size negotiation
- oblique
- occupied
- oldlace
- oldstyle-nums
- olive
  - in css-color-3
  - in css-color-3
- olivedrab
- operating coordinate space
- or
- orange
- orangered
- orchid
- order-modified document order
- ordinal
- orthogonal
- orthogonal flow
- outer box-shadow
- out of flow
- output of the cascade
- over
- overflow
- overflow alignment
- overflow columns
- padding
  - in css-speech-1
  - in css2
- padding box
- padding-box
- page area
- page box
- page break
- page context
- page selector
- pagination
- palegoldenrod
- palegreen
- paleturquoise
- palevioletred
- papayawhip
- parse
- parse a comma-separated list of component values
- parse a component value
- parse a css stylesheet
- parse a declaration
- parse a list of component values
- parse a list of declarations
- parse a list of rules
- parse a rule
- parse a stylesheet
- parse error
- parse something according to a css grammar
- participates in baseline alignment
- pass through filter
- peachpuff
- pending-substitution value
- percentage
  - in css-speech-1
  - in css-values-3
- peru
- petite-caps
- physical
- physical bottom
- physical dimensions
- physical direction
- physical left
- physical right
- physical top
- physical units
- pink
- plum
- positional alignment
- positioned
- positioning schemes:
- post-multiplied
- post-multiply
- powderblue
- pre-multiplied
- pre-multiply
- preserved
- preserved tokens
  - in css-syntax-3
  - in css-syntax-3, for CSS
- preserved white space
- primary filter primitive tree
- principal block-level box
- principal writing mode
- propagate
- propagation
- proportional-nums
- proportional-width
- pseudo-classes
- pseudo-elements
- purple
  - in css-color-3
  - in css-color-3
- qualified rule
  - in css-syntax-3
  - in css-syntax-3, for CSS
- reconsume the current input code point
- reconsume the current input token
- red
  - in css-color-3
  - in css-color-3
- reference box
  - in css-shapes-1
  - in css-transforms-1
- reference pixel
- region break
- relative length
- relative positioning
- remaining fragmentainer extent
- remaining free space
- renderer
  - in css-fonts-3
  - in css-images-3
  - in css-speech-1
- representation
- reset-only sub-property
- resolved type
- reversing-adjusted start value
- reversing shortening factor
- right
- rosybrown
- row axis
- royalblue
- ruby
- running transition
- saddlebrown
- salmon
- sandybrown
- sans-serif
- scaled flex shrink factor
- scope
- screen reader
- script property
- scrollbar
- seagreen
- seashell
- segment break
- selector
  - in css2
  - in selectors-3
- self-alignment
- self-alignment properties
- semi-condensed
- semi-expanded
- sequence of simple selectors
- serialize an <an+b> value
- serif
- shared alignment context
- sheets
- shorthand
- shorthand properties
- shorthand property
- sienna
- silver
  - in css-color-3
  - in css-color-3
- simple block
  - in css-syntax-3
  - in css-syntax-3, for CSS
- simple selector
  - in css2
  - in selectors-3
- simplified
- single-line flex container
- sizing function
- skyblue
- slashed-zero
- slateblue
- slategray
- slategrey
- small
- small-caps
- small kana
- snow
- soft wrap break
- soft wrap opportunity
- source
- space to fill
- span count
- spanner
- spanning element
- specified size
- specified size suggestion
  - in css-flexbox-1
  - in css-grid-1
- specified value
- spread break
- spread distance
- springgreen
- stacked-fractions
- stacking context
- stack level
- start
- starting point
- start of the range
- starts with an identifier
- starts with a number
- starts with a valid escape
- start time
- start value
- start with an identifier
- start with a number
- static position rectangle
- static-position rectangle
- steelblue
- stop or comma
- stretched
- string
- strings
- stroke bounding box
- structural pseudo-classes
- strut size
- style attribute
- style change event
- style rule
- style sheet
  - in css-backgrounds-3
  - in css-namespaces-3
  - in css-speech-1
- style sheet!!as conformance class
  - in css-fonts-3
  - in css-images-3
  - in css-speech-1
- sub
- subjects
- subjects of the selector
- sub-property
- subsequent-sibling combinator
- substitute a var()
- super
- support
  - in css-conditional-3
  - in css-conditional-3, for CSS
  - in css-fonts-3
- supports_condition
- supports_condition_in_parens
- supports_conjunction
- supports_declaration_condition
- supports_disjunction
- supports_negation
- '@supports' rule
- supports_rule
- supports_sym
- surrogate code point
- synthesize baseline
- synthesized baseline
- system font fallback
- table element
- tab stop
- tabular-nums
- tan
- target main size
- teal
  - in css-color-3
  - in css-color-3
- textual data types
- thistle
- threeddarkshadow
- threedface
- threedhighlight
- threedlightshadow
- threedshadow
- time
- titling-caps
- tomato
- top
- top-level flag
- tracking
- track list
- track section
- track sizing algorithm
- track sizing function
- traditional
- transfer function element
- transfer function element attributes
- transferred size suggestion
  - in css-flexbox-1
  - in css-grid-1
- transformable element
- transformation matrix
- transformed element
- transitionable
- transition origin
- transparent
- trash token
- triangle
- trinary
- turquoise
- type selector
- typographic character
- typographic character unit
- typographic letter unit
- typographic mode
- ua
  - in css-backgrounds-3
  - in css-speech-1
- ua origin
- ua style sheet
- ultra-condensed
- ultra-expanded
- under
- unforced break
- unicase
- unicode category
- unicode east asian width
- unicode general category
- unicode script
- universal selector
- unknown
- unoccupied
- upper-alpha-legal
- uppercase letter
- url
- use a negative sign
- used value
  - in css-cascade-3
  - in css2
- user agent
  - in css-backgrounds-3
  - in css-speech-1
- user agent origin
- user agent style sheet
- user coordinate system
- user origin
- user style sheet
- uses a negative sign
- valid image
- value definition syntax
- var() substitution
- vertical axis
- vertical block flow
- vertical dimension
- vertical offset
- vertical-only
- vertical script
- vertical writing mode
- viewport
- viewport-percentage lengths
- violet
- visual angle unit
- visual box model
- weight
- wheat
- white
  - in css-color-3
  - in css-color-3
- whitesmoke
- white space
- whitespace
- white space characters
- width
  - in css-fonts-3
  - in css-writing-modes-3
- window
- windowframe
- windowtext
- word separator
- word-separator character
- would start an identifier
- would start a number
- wrap
  - in css-shapes-1
  - in css-text-3
- wrapping
  - in css-shapes-1
  - in css-text-3
- writing mode
- x-axis
- y-axis
- yellow
  - in css-color-3
  - in css-color-3
- yellowgreen

### 4.2. Selector Index

- *
- :active
- ::after
- ::before
- :checked
- :disabled
- :empty
- :enabled
- :first-child
- ::first-letter
- ::first-line
- :first-of-type
- :focus
- :hover
- :lang
- :last-child
- :last-of-type
- :link
- :not()
- :nth-child()
- :nth-last-child()
- :nth-last-of-type()
- :nth-of-type()
- :only-child
- :only-of-type
- :root
- :target
- :visited

### 4.3. At-Rule Index

- @charset
- @counter-style
- @font-face
- @import
  - in css-cascade-3
  - in css2
- @keyframes
- @media
- @supports

### 4.4. Property Index

- --*
- align-content
  - in css-align-3
  - in css-flexbox-1
- align-items
  - in css-align-3
  - in css-flexbox-1
- align-self
  - in css-align-3
  - in css-flexbox-1
- all
- animation
- animation-delay
- animation-direction
- animation-duration
- animation-fill-mode
- animation-iteration-count
- animation-name
- animation-play-state
- animation-timing-function
- azimuth
- background
- background-attachment
- background-blend-mode
- background-clip
- background-color
- background-image
- background-origin
- background-position
- background-repeat
- background-size
- border
- border-bottom
- border-bottom-color
- border-bottom-left-radius
- border-bottom-right-radius
- border-bottom-style
- border-bottom-width
- border-collapse
- border-color
- border-image
- border-image-outset
- border-image-repeat
- border-image-slice
- border-image-source
- border-image-width
- border-left
- border-left-color
- border-left-style
- border-left-width
- border-radius
- border-right
- border-right-color
- border-right-style
- border-right-width
- border-spacing
- border-style
- border-top
- border-top-color
- border-top-left-radius
- border-top-right-radius
- border-top-style
- border-top-width
- border-width
- bottom
- box-decoration-break
- box-shadow
- box-sizing
- break-after
- break-before
- break-inside
- caption-side
- caret-color
- clear
- clip
- clip-path
- clip-rule
- color
- color-interpolation-filters
- column-count
- column-fill
- column-gap
  - in css-align-3
  - in css-multicol-1
- column-rule
- column-rule-color
- column-rule-style
- column-rule-width
- columns
- column-span
- column-width
- content
- counter-increment
- counter-reset
- cue
  - in css-speech-1
  - in css2
- cue-after
  - in css-speech-1
  - in css2
- cue-before
  - in css-speech-1
  - in css2
- cursor
- direction
- display
- elevation
- empty-cells
- filter
- flex
- flex-basis
- flex-direction
- flex-flow
- flex-grow
- flex-shrink
- flex-wrap
- float
- flood-color
- flood-opacity
- font
- font-family
- font-feature-settings
- font-kerning
- font-size
- font-size-adjust
- font-stretch
- font-style
- font-synthesis
- font-variant
- font-variant-caps
- font-variant-east-asian
- font-variant-ligatures
- font-variant-numeric
- font-variant-position
- font-weight
- gap
- globalcompositeoperation
- glyph-orientation-vertical
- grid
- grid-area
- grid-auto-columns
- grid-auto-flow
- grid-auto-rows
- grid-column
- grid-column-end
- grid-column-gap
- grid-column-start
- grid-gap
- grid-row
- grid-row-end
- grid-row-gap
- grid-row-start
- grid-template
- grid-template-areas
- grid-template-columns
- grid-template-rows
- hanging-punctuation
- height
- hyphens
- image-orientation
- image-rendering
- image-resolution
- isolation
- justify-content
  - in css-align-3
  - in css-flexbox-1
- justify-items
- justify-self
- left
- letter-spacing
- lighting-color
- line-break
- line-height
- list-style
- list-style-image
- list-style-position
- list-style-type
- margin
- margin-bottom
- margin-left
- margin-right
- margin-top
- mask
- mask-border
- mask-border-mode
- mask-border-outset
- mask-border-repeat
- mask-border-slice
- mask-border-source
- mask-border-width
- mask-clip
- mask-composite
- mask-image
- mask-mode
- mask-origin
- mask-position
- mask-repeat
- mask-size
- mask-type
- max-height
- max-width
- min-height
- min-width
- mix-blend-mode
- object-fit
- object-position
- opacity
- order
- orphans
- outline
- outline-color
- outline-offset
- outline-style
- outline-width
- overflow
- overflow-wrap
- padding
- padding-bottom
- padding-left
- padding-right
- padding-top
- page-break-after
- page-break-before
- page-break-inside
- pause
  - in css-speech-1
  - in css2
- pause-after
  - in css-speech-1
  - in css2
- pause-before
  - in css-speech-1
  - in css2
- pitch
- pitch-range
- place-content
- place-items
- place-self
- play-during
- position
- quotes
- resize
- rest
- rest-after
- rest-before
- richness
- right
- row-gap
- shape-image-threshold
- shape-margin
- shape-outside
- speak
  - in css-speech-1
  - in css2
- speak-as
- speak-header
- speak-numeral
- speak-punctuation
- speech-rate
- stress
- table-layout
- tab-size
- text-align
- text-align-all
- text-align-last
- text-combine-upright
- text-decoration
- text-decoration-color
- text-decoration-line
- text-decoration-style
- text-emphasis
- text-emphasis-color
- text-emphasis-position
- text-emphasis-style
- text-indent
- text-justify
- text-orientation
- text-overflow
- text-shadow
- text-transform
- text-underline-position
- top
- transform
- transform-box
- transform-origin
- transition
- transition-delay
- transition-duration
- transition-property
- transition-timing-function
- unicode-bidi
- vertical-align
- visibility
- voice-balance
- voice-duration
- voice-family
  - in css-speech-1
  - in css2
- voice-pitch
- voice-range
- voice-rate
- voice-stress
- voice-volume
- volume
- white-space
- widows
- width
- will-change
- word-break
- word-spacing
- word-wrap
- writing-mode
- z-index

### 4.5. Values Index

- add
- additive
- alias
- all
  - in css-multicol-1, for column-span
  - in css-transitions-1, for transition-property
  - in css-writing-modes-3, for text-combine-upright
- allow-end
- all-scroll
- alpha
  - in css-masking-1, for mask-border-mode
  - in css-masking-1, for mask-mode
  - in css-masking-1, for mask-type
- alphabetic
- alternate
- alternate-reverse
- <angle>
- <angle>? flip
- anywhere
  - in css-text-3, for line-break
  - in css-text-3, for overflow-wrap
- arabic-indic
- armenian
  - in css-counter-styles-3, for <counter-style-name>
  - in css2
- auto
  - in css-align-3, for align-self
  - in css-align-3, for justify-self
  - in css-backgrounds-3, for background-size
  - in css-backgrounds-3, for border-image-width
  - in css-break-3, for break-before, break-after
  - in css-break-3, for break-inside, page-break-inside
  - in css-counter-styles-3, for @counter-style/range
  - in css-counter-styles-3, for @counter-style/speak-as
  - in css-flexbox-1, for align-items, align-self
  - in css-flexbox-1, for flex-basis
  - in css-grid-1, for <grid-line>
  - in css-grid-1, for grid-template-columns, grid-template-rows
  - in css-images-3, for image-rendering
  - in css-masking-1, for mask-mode
  - in css-multicol-1, for column-count
  - in css-multicol-1, for column-fill
  - in css-multicol-1, for column-width
  - in css-text-3, for hyphens
  - in css-text-3, for line-break
  - in css-text-3, for text-align-last
  - in css-text-3, for text-justify
  - in css-text-decor-3, for text-underline-position
  - in css-ui-3, for caret-color
  - in css-ui-3, for cursor
  - in css-will-change-1, for will-change
  - in filter-effects-1, for color-interpolation-filters
- auto-fill
- auto-fit
- [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>
- avoid
  - in css-break-3, for break-before, break-after
  - in css-break-3, for break-inside, page-break-inside
- avoid-column
  - in css-break-3, for break-before, break-after
  - in css-break-3, for break-inside, page-break-inside
- avoid-page
  - in css-break-3, for break-before, break-after
  - in css-break-3, for break-inside, page-break-inside
- avoid-region
  - in css-break-3, for break-before, break-after
  - in css-break-3, for break-inside, page-break-inside
- backwards
- balance
- balance-all
- baseline
  - in css-align-3, for justify-self, justify-items, align-content, align-self, align-items, <baseline-position>
  - in css-flexbox-1, for align-items, align-self
- <basic-shape>
- bengali
- bidi-override
- blink
- block
- border-box
  - in css-backgrounds-3, for background-clip
  - in css-backgrounds-3, for background-origin
  - in css-masking-1, for mask-clip
  - in css-masking-1, for mask-origin
  - in css-shapes-1, for <shape-box>, shape-outside
  - in css-transforms-1, for transform-box
  - in css-ui-3, for box-sizing
- both
- bottom
  - in css-backgrounds-3, for background-position
  - in css-transforms-1, for transform-origin
- break-all
- break-spaces
- break-word
  - in css-text-3, for overflow-wrap
  - in css-text-3, for word-break
- bullets
- cambodian
- capitalize
- cell
- center
  - in css-align-3, for <self-position>, <content-position>
  - in css-backgrounds-3, for background-position
  - in css-flexbox-1, for align-content
  - in css-flexbox-1, for align-items, align-self
  - in css-flexbox-1, for justify-content
  - in css-text-3, for text-align
  - in css-transforms-1, for transform-origin
- ch
- circle
  - in css-counter-styles-3, for <counter-style-name>
  - in css-images-3, for <ending-shape>
  - in css-text-decor-3, for text-text-emphasis-style
  - in css2
- cjk-decimal
- cjk-earthly-branch
- cjk-heavenly-stem
- cjk-ideographic
- clip
- clone
- close-quote
- closest-corner
  - in css-images-3
  - in css-images-3, for <size>
- closest-side
  - in css-images-3
  - in css-images-3, for <size>
- cm
- <color>
  - in css-backgrounds-3, for box-shadow
  - in css-multicol-1, for column-rule-color
- color
- color-burn
- color-dodge
- col-resize
- column
  - in css-break-3, for break-before, break-after
  - in css-flexbox-1, for flex-direction
  - in css-grid-1, for grid-auto-flow
- column-reverse
- contain
  - in css-backgrounds-3, for background-size
  - in css-images-3, for object-fit
- content
- content-box
  - in css-backgrounds-3, for background-clip
  - in css-backgrounds-3, for background-origin
  - in css-masking-1, for mask-clip
  - in css-masking-1, for mask-origin
  - in css-shapes-1, for <shape-box>, shape-outside
  - in css-transforms-1, for transform-box
  - in css-ui-3, for box-sizing
- contents
- context-menu
- copy
- <counter-style-name>
- cover
  - in css-backgrounds-3, for background-size
  - in css-images-3, for object-fit
- crisp-edges
- crosshair
- currentcolor
- <custom-ident>
  - in css-grid-1, for <grid-line>
  - in css-will-change-1, for will-change
- cyclic
- darken
- dashed
  - in css-backgrounds-3, for <line-style>, border-style, border-top-style, border-left-style, border-bottom-style, border-right-style, border
  - in css2
- decimal
  - in css-counter-styles-3, for <counter-style-name>
  - in css2
- decimal-leading-zero
  - in css-counter-styles-3, for <counter-style-name>
  - in css2
- default
- deg
- dense
- devanagari
- difference
- disc
  - in css-counter-styles-3, for <counter-style-name>
  - in css2
- disclosure-closed
- disclosure-open
- distribute
- dot
- dotted
  - in css-backgrounds-3, for <line-style>, border-style, border-top-style, border-left-style, border-bottom-style, border-right-style, border
  - in css2
- double
  - in css-backgrounds-3, for <line-style>, border-style, border-top-style, border-left-style, border-bottom-style, border-right-style, border
  - in css2
- double-circle
- dpcm
  - in css-images-3
  - in css-values-3, for <resolution>
- dpi
  - in css-images-3
  - in css-values-3, for <resolution>
- dppx
  - in css-images-3
  - in css-values-3, for <resolution>
- each-line
- ellipse
- ellipsis
- em
- embed
- end
  - in css-align-3, for <self-position>, <content-position>
  - in css-text-3, for text-align
- <ending-shape>
- e-resize
- ethiopic-numeric
- evenodd
- ew-resize
- ex
- exclude
- exclusion
- extends
- farthest-corner
  - in css-images-3
  - in css-images-3, for <size>
- farthest-side
  - in css-images-3
  - in css-images-3, for <size>
- fill
  - in css-backgrounds-3, for border-image-slice
  - in css-images-3, for object-fit
  - in css-masking-1, for mask-border-slice
- fill-box
  - in css-masking-1, for clip-path
  - in css-masking-1, for mask-clip
  - in css-masking-1, for mask-origin
  - in css-transforms-1, for transform-box
- filled
- first
  - in css-align-3, for justify-self, justify-items, align-content, align-self, align-items, <baseline-position>
  - in css-text-3, for hanging-punctuation
- first baseline
- fit-content()
- fixed
  - in css-backgrounds-3, for background-attachment
  - in css-counter-styles-3, for @counter-style/system
- <flex>
- flex
- <'flex-basis'>
- flex-end
  - in css-align-3, for <self-position>, <content-position>
  - in css-flexbox-1, for align-content
  - in css-flexbox-1, for align-items, align-self
  - in css-flexbox-1, for justify-content
- <'flex-grow'>
- <'flex-shrink'>
- flex-start
  - in css-align-3, for <self-position>, <content-position>
  - in css-flexbox-1, for align-content
  - in css-flexbox-1, for align-items, align-self
  - in css-flexbox-1, for justify-content
- font-feature-settings
- font-variant
  - in css-fonts-3
  - in css-fonts-3
- force-end
- forwards
- fr
- from-image
- fr unit
- full-size-kana
- full-width
- georgian
  - in css-counter-styles-3, for <counter-style-name>
  - in css2
- grab
- grabbing
- grad
- grid
- <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>?
- <'grid-template-rows'> / <'grid-template-columns'>
- groove
  - in css-backgrounds-3, for <line-style>, border-style, border-top-style, border-left-style, border-bottom-style, border-right-style, border
  - in css2
- gujarati
- gurmukhi
- hanging
- hard-light
- hebrew
- help
- hidden
  - in css-backgrounds-3, for <line-style>, border-style, border-top-style, border-left-style, border-bottom-style, border-right-style, border
  - in css2
- high-quality
- hiragana
- hiragana-iroha
- horizontal-tb
- hue
- hz
- <image>
- in
- infinite
- inherit
- initial
- inline
- inline-block
- inline-flex
- inline-grid
- inline-table
- inset
  - in css-backgrounds-3, for <line-style>, border-style, border-top-style, border-left-style, border-bottom-style, border-right-style, border
  - in css-backgrounds-3, for box-shadow
  - in css2
- <integer>
  - in css-flexbox-1, for order
  - in css-multicol-1, for column-count
- <integer> && <custom-ident>?
- inter-character
- intersect
- inter-word
- invert
  - in css-ui-3, for outline-color
  - in css2
- isolate
- isolate-override
- japanese-formal
- japanese-informal
- justify
- justify-all
- kannada
- katakana
- katakana-iroha
- keep-all
- <keyframes-name>
- khmer
- khz
- korean-hangul-formal
- korean-hanja-formal
- korean-hanja-informal
- lao
- last
  - in css-align-3, for justify-self, justify-items, align-content, align-self, align-items, <baseline-position>
  - in css-text-3, for hanging-punctuation
- last baseline
- left
  - in css-align-3, for justify-content, justify-self, justify-items
  - in css-backgrounds-3, for background-position
  - in css-break-3, for break-before, break-after
  - in css-text-3, for text-align
  - in css-text-decor-3, for text-text-emphasis-position
  - in css-text-decor-3, for text-underline-position
  - in css-transforms-1, for transform-origin
- legacy
- <length>
  - in css-backgrounds-3, for background-position
  - in css-images-3, for <size>
  - in css-multicol-1, for column-width
  - in css-shapes-1, for shape-margin
  - in css-text-3, for letter-spacing
  - in css-text-3, for text-indent
  - in css-text-3, for word-spacing
- <length-percentage>
  - in css-backgrounds-3, for background-size
  - in css-backgrounds-3, for border-image-width
  - in css-grid-1, for grid-template-columns, grid-template-rows
  - in css-multicol-1, for column-gap
  - in css-shapes-1, for shape-margin
- <length-percentage>{2}
- lighten
- linearrgb
- [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?
- line-through
- list-item
- local
- loose
- lower-alpha
- lower-armenian
- lowercase
- lower-greek
  - in css-counter-styles-3, for <counter-style-name>
  - in css2
- lower-latin
  - in css-counter-styles-3, for <counter-style-name>
  - in css2
- lower-roman
  - in css-counter-styles-3, for <counter-style-name>
  - in css2
- ltr
- luminance
  - in css-masking-1, for mask-border-mode
  - in css-masking-1, for mask-mode
  - in css-masking-1, for mask-type
- luminosity
- malayalam
- manual
- margin-box
  - in css-masking-1, for mask-clip
  - in css-masking-1, for mask-origin
  - in css-shapes-1, for <shape-box>, shape-outside
- match-parent
- match-source
- max-content
- medium
- min-content
- minmax()
- mixed
- mm
- mongolian
- move
- ms
- multiply
- myanmar
- ne-resize
- nesw-resize
- no-clip
- no-close-quote
- no-drop
- none
  - in css-animations-1, for animation-fill-mode
  - in css-animations-1, for animation-name
  - in css-backgrounds-3, for <line-style>, border-style, border-top-style, border-left-style, border-bottom-style, border-right-style, border
  - in css-backgrounds-3, for background-image
  - in css-backgrounds-3, for box-shadow
  - in css-flexbox-1, for flex
  - in css-grid-1, for grid-template
  - in css-grid-1, for grid-template-areas
  - in css-grid-1, for grid-template-rows, grid-template-columns
  - in css-images-3, for image-orientation
  - in css-images-3, for object-fit
  - in css-multicol-1, for column-span
  - in css-shapes-1, for shape-outside
  - in css-text-3, for hanging-punctuation
  - in css-text-3, for hyphens
  - in css-text-3, for text-justify
  - in css-text-3, for text-transform
  - in css-text-decor-3, for text-decoration-line
  - in css-text-decor-3, for text-text-emphasis-style
  - in css-transitions-1, for transition-property
  - in css-ui-3, for cursor
  - in css-writing-modes-3, for text-combine-upright
  - in css2
- none!!font-variant
- nonzero
- no-open-quote
- no-repeat
- normal
  - in compositing-1, for <blend-mode>
  - in css-align-3, for align-self
  - in css-align-3, for justify-content, align-content
  - in css-align-3, for justify-self
  - in css-align-3, for row-gap, column-gap, gap
  - in css-animations-1, for animation-direction
  - in css-multicol-1, for column-gap
  - in css-text-3, for letter-spacing
  - in css-text-3, for line-break
  - in css-text-3, for overflow-wrap
  - in css-text-3, for white-space
  - in css-text-3, for word-break
  - in css-text-3, for word-spacing
  - in css-writing-modes-3, for unicode-bidi
- normal!!font-feature-settings
- normal!!font-variant
- not-allowed
- nowrap
  - in css-flexbox-1, for flex-wrap
  - in css-text-3, for white-space
- n-resize
- ns-resize
- <number>
  - in css-animations-1, for animation-iteration-count
  - in css-backgrounds-3, for border-image-slice
  - in css-backgrounds-3, for border-image-width
  - in css-flexbox-1, for flex-grow
  - in css-flexbox-1, for flex-shrink
  - in css-fonts-3, for font-size-adjust
  - in css-shapes-1, for shape-image-threshold
- numbers
- numeric
- nw-resize
- nwse-resize
- objectboundingbox
  - in css-masking-1, for clipPathUnits
  - in css-masking-1, for maskContentUnits
  - in css-masking-1, for maskUnits
- open
- open-quote
- oriya
- outset
  - in css-backgrounds-3, for <line-style>, border-style, border-top-style, border-left-style, border-bottom-style, border-right-style, border
  - in css2
- over
- overlay
- overline
- padding-box
  - in css-backgrounds-3, for background-clip
  - in css-backgrounds-3, for background-origin
  - in css-masking-1, for mask-clip
  - in css-masking-1, for mask-origin
  - in css-shapes-1, for <shape-box>, shape-outside
- page
- paused
- pc
- <percentage>
  - in css-backgrounds-3, for background-position
  - in css-backgrounds-3, for border-image-slice
  - in css-shapes-1, for shape-margin
  - in css-text-3, for text-indent
- persian
- pixelated
- pixel unit
- plaintext
- pointer
- <position>
- pre
- pre-line
- pre-wrap
- progress
- pt
- px
- q
- rad
- recto
- region
- rem
- repeat
  - in css-backgrounds-3, for background-repeat
  - in css-backgrounds-3, for border-image-repeat
- repeat-x
- repeat-y
- reverse
- ridge
  - in css-backgrounds-3, for <line-style>, border-style, border-top-style, border-left-style, border-bottom-style, border-right-style, border
  - in css2
- right
  - in css-align-3, for justify-content, justify-self, justify-items
  - in css-backgrounds-3, for background-position
  - in css-break-3, for break-before, break-after
  - in css-text-3, for text-align
  - in css-text-decor-3, for text-text-emphasis-position
  - in css-text-decor-3, for text-underline-position
  - in css-transforms-1, for transform-origin
- round
  - in css-backgrounds-3, for background-repeat
  - in css-backgrounds-3, for border-image-repeat
- row
  - in css-flexbox-1, for flex-direction
  - in css-grid-1, for grid-auto-flow
- row-resize
- row-reverse
- rtl
- running
- s
- safe
- saturation
- scale-down
- screen
- scroll
- scroll-position
- self-end
- self-start
- se-resize
- sesame
- sideways
- sideways-right
- simp-chinese-formal
- simp-chinese-informal
- <size>
- slice
- smooth
- soft-light
- solid
  - in css-backgrounds-3, for <line-style>, border-style, border-top-style, border-left-style, border-bottom-style, border-right-style, border
  - in css2
- space
  - in css-backgrounds-3, for background-repeat
  - in css-backgrounds-3, for border-image-repeat
- space-around
  - in css-align-3, for align-content, justify-content, <content-distribution>
  - in css-flexbox-1, for align-content
  - in css-flexbox-1, for justify-content
- space-between
  - in css-align-3, for align-content, justify-content, <content-distribution>
  - in css-flexbox-1, for align-content
  - in css-flexbox-1, for justify-content
- space-evenly
- span && [ <integer> || <custom-ident> ]
- spell-out
- square
  - in css-counter-styles-3, for <counter-style-name>
  - in css2
- s-resize
- srgb
- start
  - in css-align-3, for <self-position>, <content-position>
  - in css-text-3, for text-align
- stretch
  - in css-align-3, for align-content, justify-content, <content-distribution>
  - in css-align-3, for align-self
  - in css-align-3, for justify-self
  - in css-backgrounds-3, for border-image-repeat
  - in css-flexbox-1, for align-content
  - in css-flexbox-1, for align-items, align-self
- strict
- <string>
- <string>+
- stroke-box
  - in css-masking-1, for clip-path
  - in css-masking-1, for mask-clip
  - in css-masking-1, for mask-origin
  - in css-transforms-1, for transform-box
- subtract
- sw-resize
- symbolic
- table
- table-caption
- table-cell
- table-column
- table-column-group
- table-footer-group
- table-header-group
- table-row
- table-row-group
- tamil
- telugu
- text
- thai
- thick
- thin
- tibetan
- <time>
  - in css-animations-1, for animation-delay
  - in css-animations-1, for animation-duration
- top
  - in css-backgrounds-3, for background-position
  - in css-transforms-1, for transform-origin
- <track-list> | <auto-track-list>
- trad-chinese-formal
- trad-chinese-informal
- triangle
- turn
- under
  - in css-text-decor-3, for text-text-emphasis-position
  - in css-text-decor-3, for text-underline-position
- underline
- unsafe
- unset
- upper-alpha
- upper-armenian
- uppercase
- upper-latin
  - in css-counter-styles-3, for <counter-style-name>
  - in css2
- upper-roman
  - in css-counter-styles-3, for <counter-style-name>
  - in css2
- upright
- <urange>
- <url>
- userspaceonuse
  - in css-masking-1, for clipPathUnits
  - in css-masking-1, for maskContentUnits
  - in css-masking-1, for maskUnits
- verso
- vertical-lr
- vertical-rl
- vertical-text
- vh
- view-box
  - in css-masking-1, for clip-path
  - in css-masking-1, for mask-clip
  - in css-masking-1, for mask-origin
  - in css-transforms-1, for transform-box
- vmax
- vmin
- vw
- wait
- words
- wrap
- wrap-reverse
- w-resize
- zoom-in
- zoom-out

## 5. Acknowledgements

Special thanks to Florian Rivoal for creating the initial draft of the § 3.2.1 Experimentation and Unstable Features recommendations.

## 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.

Advisements are normative sections styled to evoke special attention and are set apart from other normative text with `<strong class="advisement">`, like this: UAs MUST provide an accessible alternative.

### Conformance classes

Conformance to this specification is defined for three conformance classes:

style sheet
  A CSS style sheet.
renderer
  A UA that interprets the semantics of a style sheet and renders documents that use them.
authoring tool
  A UA that writes a style sheet.

A style sheet is conformant to this specification if all of its statements that use syntax defined in this module are valid according to the generic CSS grammar and the individual grammars of each feature defined in this module.

A renderer is conformant to this specification if, in addition to interpreting the style sheet as defined by the appropriate specifications, it supports all the features defined by this specification by parsing them correctly and rendering the document accordingly. However, the inability of a UA to correctly render a document due to limitations of the device does not make the UA non-conformant. (For example, a UA is not required to render color on a monochrome monitor.)

An authoring tool is conformant to this specification if it writes style sheets that are syntactically correct according to the generic CSS grammar and the individual grammars of each feature in this module, and meet all other conformance requirements of style sheets as described in this module.

### 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.

#### 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.

#### Implementations of Unstable and Proprietary Features

To avoid clashes with future stable CSS features, the CSSWG recommends following best practices for the implementation of unstable features and proprietary extensions to CSS.

#### 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.

Further information on submitting testcases and implementation reports can be found from on the CSS Working Group’s website at http://www.w3.org/Style/CSS/Test/. Questions should be directed to the public-css-testsuite@w3.org mailing list.

## Index

### Terms defined by this specification

- Cascading Style Sheets (CSS), in §2
- CSS Level 1, in §2.1
- CSS Level 2, in §2.1
- CSS Level 3, in §2.1
- CSS Level 4, in §2.1
- Editor’s Draft, in §1.1
- levels, in §2.1
- prefixed, in §3.2.2
- proprietary extension, in §3.2.2
- Rough interoperability, in §3.2.3
- unprefixed, in §3.2.2
- unstable, in §3.2.1
- vendor prefix, in §3.2.2
- vendor-prefixed, in §3.2.2

https://www.w3.org/TR/css-color-4/#propdef-opacity Referenced in:

- 2. Cascading Style Sheets (CSS) — The Official Definition

https://www.w3.org/TR/css-counter-styles-3/#typedef-counter-style Referenced in:

- 2. Cascading Style Sheets (CSS) — The Official Definition

https://www.w3.org/TR/css-counter-styles-3/#at-ruledef-counter-style Referenced in:

- 2. Cascading Style Sheets (CSS) — The Official Definition

https://www.w3.org/TR/css-sizing-3/#valdef-width-max-content Referenced in:

- 3.2.1. Experimentation and Unstable Features

https://www.w3.org/TR/css-sizing-3/#valdef-width-min-content Referenced in:

- 3.2.1. Experimentation and Unstable Features

https://www.w3.org/TR/css3-ui/#propdef-cursor Referenced in:

- 2. Cascading Style Sheets (CSS) — The Official Definition

https://www.w3.org/TR/css3-ui/#propdef-outline Referenced in:

- 2. Cascading Style Sheets (CSS) — The Official Definition

https://www.w3.org/TR/css-will-change-1/#propdef-will-change Referenced in:

- 2. Cascading Style Sheets (CSS) — The Official Definition

https://drafts.csswg.org/css-conditional-3/#at-ruledef-media Referenced in:

- 2. Cascading Style Sheets (CSS) — The Official Definition

https://drafts.csswg.org/css-conditional-3/#at-ruledef-supports Referenced in:

- 2. Cascading Style Sheets (CSS) — The Official Definition

https://www.w3.org/TR/selectors4/#dir-pseudo Referenced in:

- 3.2.1. Experimentation and Unstable Features

https://www.w3.org/TR/selectors4/#lang-pseudo Referenced in:

- 3.2.1. Experimentation and Unstable Features

### Terms defined by reference

- [css-color-4] defines the following terms:
  - opacity
- [CSS-COUNTER-STYLES-3] defines the following terms:
  - <counter-style>
  - @counter-style
- [CSS-SIZING-3] defines the following terms:
  - max-content
  - min-content
- [CSS-UI-3] defines the following terms:
  - cursor
  - outline
- [CSS-WILL-CHANGE-1] defines the following terms:
  - will-change
- [CSS3-CONDITIONAL] defines the following terms:
  - @media
  - @supports
- [SELECTORS4] defines the following terms:
  - :dir()
  - :lang()

## References

### Normative References

[COMPOSITING]
  Rik Cabanier; Nikos Andronikos. Compositing and Blending Level 1. 13 January 2015. CR. URL: https://www.w3.org/TR/compositing-1/
[CSS-CASCADE-3]
  Elika Etemad; Tab Atkins Jr.. CSS Cascading and Inheritance Level 3. 28 August 2018. CR. URL: https://www.w3.org/TR/css-cascade-3/
[CSS-COLOR-4]
  Tab Atkins Jr.; Chris Lilley. CSS Color Module Level 4. 5 March 2019. WD. URL: https://www.w3.org/TR/css-color-4/
[CSS-FONTS-3]
  John Daggett; Myles Maxfield; Chris Lilley. CSS Fonts Module Level 3. 20 September 2018. REC. URL: https://www.w3.org/TR/css-fonts-3/
[CSS-SIZING-3]
  Tab Atkins Jr.; Elika Etemad. CSS Intrinsic & Extrinsic Sizing Module Level 3. 22 May 2019. WD. URL: https://www.w3.org/TR/css-sizing-3/
[CSS-STYLE-ATTR]
  Tantek Çelik; Elika Etemad. CSS Style Attributes. 7 November 2013. REC. URL: https://www.w3.org/TR/css-style-attr/
[CSS-SYNTAX-3]
  Tab Atkins Jr.; Simon Sapin. CSS Syntax Module Level 3. 20 February 2014. CR. URL: https://www.w3.org/TR/css-syntax-3/
[CSS-UI-3]
  Tantek Çelik; Florian Rivoal. CSS Basic User Interface Module Level 3 (CSS3 UI). 21 June 2018. REC. URL: https://www.w3.org/TR/css-ui-3/
[CSS-VALUES-3]
  Tab Atkins Jr.; Elika Etemad. CSS Values and Units Module Level 3. 31 January 2019. CR. URL: https://www.w3.org/TR/css-values-3/
[CSS-WRITING-MODES-3]
  Elika Etemad; Koji Ishii. CSS Writing Modes Level 3. 24 May 2018. CR. URL: https://www.w3.org/TR/css-writing-modes-3/
[CSS2]
  Bert Bos; et al. Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification. 7 June 2011. REC. URL: https://www.w3.org/TR/CSS2/
[CSS3-ANIMATIONS]
  Dean Jackson; et al. CSS Animations Level 1. 11 October 2018. WD. URL: https://www.w3.org/TR/css-animations-1/
[CSS3-BACKGROUND]
  Bert Bos; Elika Etemad; Brad Kemper. CSS Backgrounds and Borders Module Level 3. 17 October 2017. CR. URL: https://www.w3.org/TR/css-backgrounds-3/
[CSS3-COLOR]
  Tantek Çelik; Chris Lilley; David Baron. CSS Color Module Level 3. 19 June 2018. REC. URL: https://www.w3.org/TR/css-color-3/
[CSS3-CONDITIONAL]
  David Baron. CSS Conditional Rules Module Level 3. 4 April 2013. CR. URL: https://www.w3.org/TR/css3-conditional/
[CSS3-IMAGES]
  Elika Etemad; Tab Atkins Jr.. CSS Image Values and Replaced Content Module Level 3. 17 April 2012. CR. URL: https://www.w3.org/TR/css3-images/
[CSS3-MEDIAQUERIES]
  Florian Rivoal; et al. Media Queries. 19 June 2012. REC. URL: https://www.w3.org/TR/css3-mediaqueries/
[CSS3-MULTICOL]
  Florian Rivoal; Rachel Andrew. CSS Multi-column Layout Module Level 1. 28 May 2018. WD. URL: https://www.w3.org/TR/css-multicol-1/
[CSS3-NAMESPACE]
  Elika Etemad. CSS Namespaces Module Level 3. 20 March 2014. REC. URL: https://www.w3.org/TR/css-namespaces-3/
[CSS3-TRANSFORMS]
  Simon Fraser; et al. CSS Transforms Module Level 1. 14 February 2019. CR. URL: https://www.w3.org/TR/css-transforms-1/
[CSS3-TRANSITIONS]
  David Baron; et al. CSS Transitions. 11 October 2018. WD. URL: https://www.w3.org/TR/css-transitions-1/
[RFC2119]
  S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119
[SELECT]
  Tantek Çelik; et al. Selectors Level 3. 6 November 2018. REC. URL: https://www.w3.org/TR/selectors-3/
[SELECTORS4]
  Elika Etemad; Tab Atkins Jr.. Selectors Level 4. 21 November 2018. WD. URL: https://www.w3.org/TR/selectors-4/

### Informative References

[CSS-ALIGN-3]
  Elika Etemad; Tab Atkins Jr.. CSS Box Alignment Module Level 3. 6 December 2018. WD. URL: https://www.w3.org/TR/css-align-3/
[CSS-BREAK-3]
  Rossen Atanassov; Elika Etemad. CSS Fragmentation Module Level 3. 4 December 2018. CR. URL: https://www.w3.org/TR/css-break-3/
[CSS-COUNTER-STYLES-3]
  Tab Atkins Jr.. CSS Counter Styles Level 3. 14 December 2017. CR. URL: https://www.w3.org/TR/css-counter-styles-3/
[CSS-FLEXBOX-1]
  Tab Atkins Jr.; et al. CSS Flexible Box Layout Module Level 1. 19 November 2018. CR. URL: https://www.w3.org/TR/css-flexbox-1/
[CSS-GRID-1]
  Tab Atkins Jr.; Elika Etemad; Rossen Atanassov. CSS Grid Layout Module Level 1. 14 December 2017. CR. URL: https://www.w3.org/TR/css-grid-1/
[CSS-MASKING-1]
  Dirk Schulze; Brian Birtles; Tab Atkins Jr.. CSS Masking Module Level 1. 26 August 2014. CR. URL: https://www.w3.org/TR/css-masking-1/
[CSS-SHAPES-1]
  Vincent Hardy; Rossen Atanassov; Alan Stearns. CSS Shapes Module Level 1. 20 March 2014. CR. URL: https://www.w3.org/TR/css-shapes-1/
[CSS-TEXT-3]
  Elika Etemad; Koji Ishii; Florian Rivoal. CSS Text Module Level 3. 12 December 2018. WD. URL: https://www.w3.org/TR/css-text-3/
[CSS-TEXT-DECOR-3]
  Elika Etemad; Koji Ishii. CSS Text Decoration Module Level 3. 3 July 2018. CR. URL: https://www.w3.org/TR/css-text-decor-3/
[CSS-VARIABLES-1]
  Tab Atkins Jr.. CSS Custom Properties for Cascading Variables Module Level 1. 3 December 2015. CR. URL: https://www.w3.org/TR/css-variables-1/
[CSS-WILL-CHANGE-1]
  Tab Atkins Jr.. CSS Will Change Module Level 1. 3 December 2015. CR. URL: https://www.w3.org/TR/css-will-change-1/
[CSS3-SPEECH]
  Daniel Weck. CSS Speech Module. 5 June 2018. NOTE. URL: https://www.w3.org/TR/css3-speech/
[FILTER-EFFECTS-1]
  Dirk Schulze; Dean Jackson. Filter Effects Module Level 1. 18 December 2018. WD. URL: https://www.w3.org/TR/filter-effects-1/

#editors-draft Referenced in:

- 1.1. Background: The W3C Process and CSS (2)

#css-level-1 Referenced in:

- 2.1. CSS Levels

#css-level-2 Referenced in:

- 2.1. CSS Levels (2) (3)

#css-level-3 Referenced in:

- 2.1. CSS Levels

#unstable Referenced in:

- 3.2. Implementations of Unstable and Proprietary Features
- 3.2.1. Experimentation and Unstable Features (2)
- 3.2.3. Market Pressure and De Facto Standards (2)
- 3.2.3.1. Vendor-prefixing Unstable Features (2)

#vendor-prefix Referenced in:

- 3.2.2. Proprietary and Non-standardized Features
- 3.2.3. Market Pressure and De Facto Standards
- 3.2.3.1. Vendor-prefixing Unstable Features (2) (3)
- 3.3. Implementations of CR-level Features

#proprietary-extension Referenced in:

- 3.2. Implementations of Unstable and Proprietary Features
- 3.2.2. Proprietary and Non-standardized Features (2) (3)

#rough-interoperability Referenced in:

- 2. Cascading Style Sheets (CSS) — The Official Definition
- 3.2.3. Market Pressure and De Facto Standards