@ 规则

At-rules(@规则)CSS 语句,用于指示 CSS 如何行为。它们以一个 at 符号 @ (U+0040 COMMERCIAL AT) 开头,后跟一个标识符。它们包括从 at 关键字到下一个分号 ; (U+003B SEMICOLON) 或下一个 CSS 块(以先到者为准)之间的所有内容。

@规则用于对样式规则和其他 @规则进行分组和结构化,声明不直接与选定内容关联的样式信息,并管理诸如导入和命名空间关键字映射之类的语法结构。

语法

@规则在 CSS 语法模块中定义,不同的 @规则在各自的模块中定义。它们通常根据特定规则及其目的采用两种形式之一:语句 @规则和块 @规则,后者可以包含嵌套的限定规则、@规则或声明。

语句 @规则

css
/* General structure */
@identifier (RULE);

/* Example: tells browser to use UTF-8 character set */
@charset "utf-8";

语句 @规则以分号结尾。有几个语句 @规则,由其标识符指定,每个都有不同的语法。

@charset

一种算法(具有 @规则的语法形式,但不是定义),用于确定样式表使用的备用字符集(CSS 语法)。

@import

告诉 CSS 引擎包含外部样式表(CSS 层叠和继承)。

@layer

在有多个层叠层的情况下定义优先顺序(CSS 层叠和继承)。也用作块 @规则来定义层的样式。

@namespace

为样式表定义默认命名空间,或定义一个命名空间前缀,只有当命名空间和其他选择器组件匹配时,选择器才匹配(CSS 命名空间)。

块 @规则

css
@identifier (RULE) {
}

块 @规则以一个 {} 块结尾,该块包含嵌套的规则、其他 @规则,或属性或描述符声明。

@counter-style

定义自定义计数器样式并扩展预定义列表样式(CSS 计数器样式)。

@container

一个条件组规则,如果容器满足,则应用其内容(CSS 包含)。

@font-face

定义字体资源位置(包括本地和外部),以及当这些资源与声明的 font-family 一起使用时的样式特征(CSS 字体)。

@font-feature-values (以及 @swash, @ornaments, @annotation, @stylistic, @styleset@character-variant)

通过为 OpenType 中 font-variant-alternates 中的特征索引定义字体特定的替代项或自定义名称来控制每个字体系列的字体显示(CSS 字体)。

@keyframes (和 @-webkit-keyframes 别名)

通过描述动画序列中中间步骤(或关键帧)的 CSS 样式来定义命名动画(CSS 动画)。

@layer

创建一个命名层叠层,其中包含该层的 CSS 规则(CSS 层叠和继承)。也用作语句 @规则来定义有多个层叠层时的优先顺序。

@media

一个条件组规则,如果设备满足使用媒体查询定义的条件标准,则应用其内容(CSS 条件规则)。

@page

指定要打印页面的各个方面,例如其尺寸、方向和边距(CSS 分页媒体)。

@position-try

定义自定义定位选项,可用于为锚定定位的元素定义回退定位和对齐选项(CSS 锚定定位)。

@property

定义一个 CSS 自定义属性,允许进行属性类型检查和约束,设置默认值,并定义自定义属性是否可以继承值(CSS 层叠变量的自定义属性)。

@scope

定义一个作用域,在该作用域中将样式应用于选定的元素,以及应用于该作用域中元素的样式(CSS 层叠和继承)。

@starting-style

定义元素接收第一次样式更新时(例如从 display: none 过渡时)要过渡的起始属性值(CSS 过渡)。

@supports

一个条件组规则,如果浏览器支持给定条件的 CSS 功能,则应用其内容(CSS 条件规则)。

@view-transition

使当前文档进入视图过渡,在跨文档导航过渡的情况下,目标文档也进入视图过渡。

索引

规范

规范
CSS 语法模块第 3 级

另见