JS判断CSS属性可用性
Aug 18, 2018
Web开发中,因为浏览器的不同,CSS的属性支持情况是有不同的。有时候需要判断CSS属性的支持情况做出不一样的设计,或者需要polyfill这个不支持的属性,这时候就需要判断CSS的支持情况。
DOM元素中我们可以通过 DOM API 获取样式声明对象 CSSStyleDeclaration,获取的CSSStyleDeclaration为内联style的css设置属性。CSSStyleDeclaration有两个特点:
- 如果我们设置了一个不支持的CSS属性,则CSSStyleDeclaration中也不会出现这个变量名。
- 如果我们设置了一个支持的CSS属性,但是设置了一个不支持的值(如: sticky 定位),则CSSStyleDeclaration中对应的变量值还将保持为空值。
我们可以使用这两个特性来判断CSS属性的支持情况。如:
1 | function cssSupport ({attr, value}) { |