--- title: CSS.supports() slug: Web/API/CSS/supports tags: - API - CSSOM - Method translation_of: Web/API/CSS/supports ---

{{APIRef("CSSOM")}}

CSS.supports() 静态方法返回一个{{domxref("Boolean")}}值,用来校验浏览器是否支持一个给定的CSS特性。

语法

boolValue = CSS.supports(propertyName, value);
boolValue = CSS.supports(supportCondition);

参数

有两种不同的传值形式。第一种用来检验浏览器对于一对“属性-属性值”的支持:

propertyName
一个包含要检查的CSS属性名称的{{domxref("DOMString")}}。
value
一个包含要检查的CSS属性值的{{domxref("DOMString")}}。

第二种语法需要一个匹配{{cssxref("@supports")}}条件的参数:

supportCondition
一个包含了检查条件的{{domxref("DOMString")}}。

实例

result = CSS.supports("text-decoration-style", "blink");
result = CSS.supports("display", "flex");
result = CSS.supports('--foo', 'red');
result = CSS.supports('(--foo: red)');
result = CSS.supports("( transform-origin: 5% 5% )");
result = CSS.supports("( transform-style: preserve ) or ( -moz-transform-style: preserve ) or " +
                      "( -o-transform-style: preserve ) or ( -webkit-transform-style: preserve )" );
//result is true or false

规范

Specification Status Comment
{{ SpecName('CSS3 Conditional', '#the-css-interface', 'CSS.supports()') }} {{ Spec2('CSS3 Conditional') }} Initial definition.

浏览器兼容性

{{CompatibilityTable}}

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support 28.0 [2] {{CompatVersionUnknown}} {{ CompatGeckoDesktop("22") }} [1] {{CompatNo}} 12.1 9 [2]
Feature Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 4.4 {{CompatVersionUnknown}} {{ CompatGeckoMobile("22") }} [1] {{CompatNo}} 12.1 9

[1]只有在用户设置layout.css.supports-rule.enabled=true时,Gecko 20和21才会支持这一特性。

[2] 在Chrome ≤ 51 (bug 584683) 和 Safari (bug 154669)中, 即使支持自定义属性,CSS.supports('--foo', 'red') 也会返回false。 您可以使用CSS.supports('(--foo: red)'),作为一种解决方案。

参见