CSS syntax

The CSS syntax module describes, in general terms, the structure and syntax of cascading stylesheets, or CSS. It defines CSS as the language for describing the rendering of structured documents (such as HTML and XML), on the web and elsewhere.

This module doesn't define any properties, data types, functions, or at-rules. Rather, it elaborates on how all of these features should be defined and how user agents should parse CSS.


  • none

Note: The module explicitly states that @charset is not an actual at-rule, but rather an unrecognized legacy rule that should be omitted when a stylesheet is grammar-checked. The only valid @charset usage is at the very beginning of a stylesheet, where it is interpreted as a special byte sequence stripped before processing the content.


Key concepts

Glossary terms



Overview of CSS syntax, including CSS declarations, declaration blocks, rulesets, and statements.

Value definition syntax

Explains the formal grammar for defining valid values for CSS properties and functions, along with semantic constraints. A guide for understanding CSS component value types, combinators, and multipliers.

CSS syntax error handling

Overview of how the user agent handles invalid CSS.

Learn CSS first steps: CSS syntax

Introductory guide to CSS, including an introduction to CSS syntax.


Unknown specification

See also