Logo
Section 1 / 5

特性查询

学习如何使用特性查询。

导入

特性查询

学习如何使用特性查询。

特性查询(Feature queries)用于精确检测浏览器对特定 CSS 功能的支持,目前已得到所有现代浏览器的全面支持!

我们使用 @supports 关键字来编写特性查询,如下例所示:

1@supports (height: 100vh) { 2 .container { 3 height: 100vh; 4 } 5}

在此示例中,我们检测浏览器是否支持 vh 单位。如果支持,则相应地设置 height 值。

特性查询的结构与媒体查询非常相似。

让我们进一步扩展这个例子:

1.element { 2 height: 100%; 3} 4 5@supports (height: 100vh) { 6 .element { 7 height: 100vh; 8 } 9}

我们默认提供了一个回退方案,将元素的高度设为 100%。如果浏览器支持 vh 单位,那么就会应用 100vh。

@supports 关键字可以用于 CSS 中任何可用的属性。此外,还可以使用逻辑运算符 and、or 和 not 来组合条件。例如,使用 and 检查浏览器是否同时支持 CSS Grid 和 Flexbox:

1@supports (display: grid) and (display: flex) { 2 /* ... */ 3}

下面的例子用于检查浏览器是否支持 CSS Grid:

1.element { 2 float: left; 3 ... 4} 5 6@supports (display: grid) { 7 .element { 8 float: none; 9 display: grid; 10 ... 11 } 12}

为你的 CSS 添加动画效果

自定义属性(变量)