CSS 条件规则
CSS 条件规则模块定义了 CSS 媒体查询和支持查询,使您能够定义仅在满足特定条件时才应用的样式。此模块中定义的条件规则基于设备、用户代理和视口功能。通过条件规则,您可以根据查询值或浏览器和设备功能来定位 CSS 样式,而与所渲染的文档无关。
最早的 CSS 条件规则是媒体类型,它们指定了链接样式的预期目标媒介,例如screen或print。这些被设置为 HTML <link> 和 <style> 元素的media属性的值,或者作为 @import 语句或 at-rule 中的逗号分隔的媒体类型列表。自 CSS 2.1 和 HTML 4.01 实现将条件查询限制为少数媒体类型以来,有条件地应用 CSS 规则的能力已大大扩展。
CSS 条件规则现在包括功能查询;@supports at-rule 允许根据用户代理的 CSS 功能定位 CSS 样式。其他条件包括支持哪些选择器、字体格式和字体技术。
CSS 条件规则模块还扩展了@media以允许嵌套 at-rules,相关的CSS 媒体查询模块删除了未使用的媒体类型并添加了许多可定位的媒体特性和条件。
CSS 容器查询模块定义了类似的条件规则,但基于元素的父级而不是视口。
有计划通过添加通用条件规则@when和链式条件规则@else来进一步扩展可能的查询。这两个 at-rule 尚不受支持。
参考
属性
@ 规则
CSS 条件规则模块还引入了@else和@when at-rule。目前,没有浏览器支持这些功能。
函数
CSS 条件规则模块还引入了media() CSS 函数。目前,没有浏览器支持此功能。
数据类型
<container-name><style-feature>- 容器相对
<length>单位 <media-query><supports-condition><supports-feature>(参见supports())
接口
术语和词汇表定义
指南
- 使用 CSS 功能查询
-
通过功能查询检查浏览器对指定属性和值的支持后,有选择地应用 CSS 规则。
- 使用 CSS 媒体查询
-
介绍媒体查询、它们的语法以及用于构建媒体查询表达式的运算符和媒体功能。
- 支持旧版浏览器:功能查询
-
如何使用功能查询根据浏览器对 Web 功能的支持程度来定位 CSS。
- 浏览器功能检测:CSS
@supports -
了解 JavaScript 和 CSS 功能检测,包括 CSS
@supports。 - 使用容器滚动状态查询
-
使用容器滚动状态查询,并提供每种类型的示例。
相关概念
-
@importat-rule
-
CSS 媒体查询模块
-
CSSOM 视图模块
CSSAPICSSGroupingRuleAPIMediaQueryListAPICSSRuleAPIMediaList接口
-
CSS 语法模块
@charset声明at-rule术语invalid术语- parse 术语
- style rule 术语
-
CSS 命名空间模块
@namespaceat-rule
规范
| 规范 |
|---|
| CSS 条件规则模块第五版 |
| CSS 条件规则模块级别 4 |
| CSS 条件规则模块第 3 级 |