CSS:supports() 静态方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 2015 年 9 月以来,该特性已在各大浏览器中可用。

CSS.supports() 静态方法返回一个布尔值,指示浏览器是否支持给定的 CSS 功能。

语法

js
CSS.supports(propertyName, value)
CSS.supports(supportCondition)

参数

有两种不同的参数集。第一种允许测试属性-值对的支持性

propertyName

一个包含要检查的 CSS 属性名称的字符串。

value

一个包含要检查的 CSS 属性值的字符串。

第二种语法接受一个与 @supports 条件匹配的参数

supportCondition

一个包含要检查的条件的字符串。

返回值

如果浏览器支持该规则,则返回 true,否则返回 false

示例

在以下示例中,result 是一个布尔值,指示浏览器是否支持给定的 CSS 功能。

js
result = CSS.supports("text-decoration-style", "blink");
result = CSS.supports("display: flex");
result = CSS.supports("(--foo: red)");
result = CSS.supports("selector(:has(a))");
result = CSS.supports(
  "(transform-style: preserve) or (-moz-transform-style: preserve) or (-webkit-transform-style: preserve)",
);

有关更多示例和语法功能,请参阅 @supports at-rule。

规范

规范
CSS 条件规则模块第 3 级
# dom-css-supports

浏览器兼容性

另见

  • @supports at-rule,它允许实现相同的功能,但以声明式方式。
  • CSSSupportsRule CSSOM 类,允许操作 @supports at-rules。