在 CSS 中,我们可以用哈希 ( #
) 为 id 定义样式,用点 ( ) 为类定义样式.
,但有些规则前面有 at 符号 ( @
),例如:
@font-face {
/* definición de fuente propia */
}
@media print {
/* estilos a la hora de imprimir */
}
@keyframes miAnimacion {
/* definición de pasos para una animación */
}
前期是什么@
意思?有多少个,它们是用来做什么的?他们有什么特别之处?
@的规则
(At-Rules 或at-rules)
它们是封装了一组规则的 CSS 声明,但与 HTML/XML 元素没有直接关系。它们通过扩展 CSS 的功能来控制样式的应用方式,并且每个样式都有自己的语法。
通用规则
它们适用于所有 CSS
@charset
定义 CSS 中使用的字符集。@import
允许您包含其他 CSS。@namespace
设置要使用的 XML。嵌套规则
它们可以作为样式声明或条件。
@media
根据输出设备特性(屏幕尺寸、打印机类型、盲文设备等)设置条件规则@supports
根据使用的浏览器设置条件规则。@document
基于 URL 限制包含的规则。@page
限制您想要打印(在打印机上)文档时包含的规则。@font-face
包括外部(字体)字体。@keyframes
控制动画序列中的中间步骤。@viewport
根据窗口大小和方向限制规则,在移动设备上特别有用。@counter-style
定义特定的计数器样式。@font-feature-values
、@swash、@ornaments、@annotation、@stylistic、@styleset 和 @character-variant定义属性的通用名称font-variant-alternates
。例子
1.定义UTF-8字符集
它必须是 CSS 中的第一个元素,并且前面不能有任何其他字符。
2.根据加载它的文档定义不同的规则
使用@document,我们可以在同一个 CSS 中为主页定义一个背景图像,并为以“论坛”开头的那些定义另一个背景图像。
3. 使用 Google Fonts 中的字体
此示例引用Source Sans Pro 字体。
然后可以在 CSS 中使用,例如:
4. 当设备处于横向模式时包含另一个 CSS
在下文中,包含了外部 CSS
ruta_de_otro.css
。5.根据兼容性定义2个属性集
这样,根据浏览器是否支持flex 属性定义了 2 个组。
6. 使用@media 查询来区分设备