如何检测浏览器的css是否支持某些特性?css的supports用法
发布于 作者:苏南大叔 来源:程序如此灵动~

CSS中的 @supports 用于检测浏览器是否支持 CSS 的某个属性。其实就是条件判断,如果支持某个属性可以写一套样式,如果不支持某个属性,可以提供另外一套样式作为替补。可以放在代码的顶层,也可以嵌套在任何其他条件组规则中。

大家好,这里是苏南大叔“程序如此灵动博客”,记录苏南大叔的代码方面的所学所想。本文描述css
的一个高级用法@supports
,可以用于检测当前浏览器是否支持某个特性,以便写出更兼容的css
代码。测试环境:chrome
、firefox
。
@supports
基本描述
最基础的表达式:
比如:
测试代码:

@supports
高阶用法
也可以使用and
/or
/not
的表达式,例如:
测试代码:
这里的and
和or
写法比较特殊,如下写法是正确的:
但是下面这么写就有歧义:
需要加上括号,写成:
js
判断,window.CSS.supports()
上面的css
里面的写法,也可以放到js
中进行判断,方法就是:
或者
测试代码如下:

在某些浏览器中,比如Opera
这个古老的浏览器里面,不存在window.CSS.supports()
,但是存在window.supportsCSS()
这个函数,所以,有下面的兼容性判断写法。(没有啥可讨论的意义)
本来就是测试兼容性的函数,结果这个函数还要被测试兼容性。这个似乎很无语啊。
相关链接
总结
这个supports
检测,如果是在写要求很高的css
文件的话,还是有些用武之地的。


