--- 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);
有两种不同的传值形式。第一种用来检验浏览器对于一对“属性-属性值”的支持:
第二种语法需要一个匹配{{cssxref("@supports")}}条件的参数:
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)')
,作为一种解决方案。