规则 | At-rule (Conditional Rules) - CSS 中文开发手册
一个在规则是用在符号开头的CSS语句,“ @”( U+0040 COMMERCIAL AT),接着的标识符并且包括一切到下一个分号,“ ;”( U+003B SEMICOLON),或下一个CSS块,以先到者为准。
有几个规则,由它们的标识符指定,每个都有不同的语法:
@charset - 定义样式表使用的字符集。@import - 通知 CSS 引擎包含外部样式表。@namespace - 告诉 CSS 引擎,它的所有内容必须被认为是以 XML 命名空间为前缀的。嵌套 at-rules - 嵌套语句的子集,可以用作样式表语句以及条件组规则中的内容:@media- 条件组规则,如果设备符合使用媒体查询定义的条件的条件,则该规则将应用其内容。@supports - 一个条件组规则,如果浏览器符合给定条件的条件,它将应用其内容。@document - 条件组规则,如果应用样式表的文档符合给定条件的条件,则该规则将应用其内容。(推迟到 CSS Spec 的第4级) @page - 描述打印文档时将应用的布局更改的方面。@font-face - 描述要下载的外部字体的方面。@keyframes - 描述 CSS 动画序列中的中间步骤的方面。@viewport - 介绍小屏幕设备视口的各个方面。(目前在工作草案阶段) @counter-style - 定义不属于预定义样式集的特定计数器样式。(在候选推荐阶段,但只在写作时在 Gecko 中实施) @font-feature-values(加@swash,@ornaments,@annotation,@stylistic,@styleset和@character-variant) -在确定共同的名字font-variant-alternates在不同的 OpenType 激活功能。(在候选人推荐阶段,但仅在写作时在 Gekko 中实施)
有条件的组规则
就像属性的值一样,每个 at-rule 都有不同的语法。尽管如此,它们中的一些可以分组成一个特殊的类别,称为条件组规则。这些声明都有一个共同的语法和他们每个人可以包括嵌套语句 -或者规则集或嵌套的规则。此外,它们都表达了一种共同的语义含义 - 它们都将某种类型的条件联系起来,这种条件在任何时候都可以评估为真或假。如果条件评估为真,则将应用组内的所有语句。
条件组规则在 CSS 条件3级中定义,并且是:
@media,@supports,@document。(推迟到 CSS Spec 的第4级)
由于每个条件组也可能包含嵌套语句,因此可能会有未指定数量的嵌套。
规范
Specification | Status | Comment |
---|---|---|
CSS Conditional Rules Module Level 3 | Candidate Recommendation | Initial definition |
Compatibility StandardThe definition of ‘CSS At-rules‘ in that specification. | Living Standard | Standardizes @-webkit-keyframes. |