规则 | At-rule
一个在规则是用在符号开头的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. |
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com