CSS 条件规则
**CSS 条件规则**模块定义了 CSS 媒体和支持查询,使您能够定义仅在满足特定条件时才应用的样式。此模块中定义的条件规则基于设备、用户代理和视口功能。使用条件规则,您可以根据查询值或浏览器和设备功能来定位 CSS 样式,而与正在呈现的文档无关。
第一个 CSS 条件规则是媒体类型,指定链接样式的目标媒体,例如 screen
或 print
。这些设置为 HTML <link>
和 <style>
元素的 media
属性的值,或作为 @import
语句或 At规则中媒体类型的逗号分隔列表。自 CSS 2.1 和 HTML 4.01 实现以来,条件查询的能力已大大扩展,这些实现将条件查询限制在少数媒体类型。
CSS 条件规则现在包括特性查询;@supports
At规则允许根据用户代理的 CSS 功能来定位 CSS 样式。其他条件包括支持哪些选择器、字体格式和字体技术。
CSS 条件规则模块还扩展了 @media
以启用嵌套 At规则,相关的CSS 媒体查询模块删除未使用的媒体类型并添加许多可以定位的媒体特性和条件。
CSS 容器查询模块 定义了类似的条件规则,但基于元素的父元素而不是视口。
计划通过添加广义条件规则 @when
和链式条件规则 @else
来进一步扩展可能的查询。这两个 At规则尚未得到支持。
参考
At规则
函数
**注意:**CSS 条件规则模块引入了一个尚未实现的 CSS 函数:media()
。
数据类型
<media-query>
<supports-condition>
<supports-feature>
(参见supports()
)
接口
术语和词汇表定义
指南
- 使用 CSS 特性查询
-
通过特性查询检查浏览器对指定属性和值的支持后,选择性地应用 CSS 规则。
- 使用 CSS 媒体查询
-
介绍媒体查询、它们的语法以及用于构建媒体查询表达式的运算符和媒体特性。
- 支持旧版浏览器:特性查询
-
如何使用特性查询根据浏览器对 Web 特性的支持程度来定位 CSS。
- 浏览器特性检测:CSS
@supports
-
了解 JavaScript 和 CSS 特性检测,包括 CSS
@supports
。
相关概念
- CSS 级联和继承 模块
@import
指令
- CSS 媒体查询 模块
<media-feature>
<media-type>
<media-condition>
<media-query-list>
- CSS 逻辑运算符(
not
、or
和and
)
- CSS 包含
@container
指令
- CSSOM 视图 模块
CSS
APICSSGroupingRule
APIMediaQueryList
APICSSRule
APIMediaList
接口
- CSS 语法 模块
- CSS 命名空间 模块
@namespace
指令
规范
规范 |
---|
CSS 条件规则模块第 5 级 |
CSS 条件规则模块第 4 级 |
CSS 条件规则模块第 3 级 |