An at-rule is a CSS statement beginning with an at sign, '
U+0040 COMMERCIAL AT), followed by an identifier, and ending at the first semi-colon, '
U+003B SEMICOLON), outside of a block, or at the end of the first CSS block.
There are several at-rules, designated by their identifiers, each with a different syntax:
@charset— Defines the character set used by the style sheet.
@import— Tells the CSS engine to include an external style sheet.
@namespace— Tells the CSS engine that all its content must be considered prefixed with an XML namespace.
- Nested at-rules — A subset of nested statements, which can be used as a statement of a style sheet as well as inside of conditional group rules:
@media— A conditional group rule which will apply its content if the device meets the criteria of the condition defined using a media query.
@page— Describes the aspect of layout changes which will be applied when printing the document.
@font-face— Describes the aspect of an external font to be downloaded.
@keyframes— Describes the aspect of intermediate steps in a CSS animation sequence.
@supports— A conditional group rule which will apply its content if the browser meets the criteria of the given condition.
@document— A conditional group rule which will apply its content if the document in which the style sheet is applied to meets the criteria of the given condition. (deferred to Level 4 of CSS Spec)
Conditional Group Rules
Much like the values of properties, each at-rule has a different syntax. Nevertheless, several of them can be grouped into a special category named conditional group rules. These statements share a common syntax and each of them can include nested statements—either rulesets or nested at-rules. Furthermore, they all convey a common semantic meaning—they all link some type of condition, which at any time evaluates to either true or false. If the condition evaluates to true, then all of the statements within the group will be applied.
Conditional group rules are defined in CSS Conditionals Level 3 and are:
Since each conditional group may also contain nested statements, there may be an unspecified amount of nesting.
|CSS Conditional Rules Module Level 3||Candidate Recommendation|