©
本文档使用
php.cn手册 发布
@supports (rule)[operator (rule)]* { sRules }
operator:or | and | not
rule:指定一条具体的CSS规则,必须使用括号包裹
operator:使用or | and | not
等操作符指定多条规则。
定义支持和不支持flex标准写法的浏览器分别使用不同的规则:
示例代码:
我们可以通过类似这样的写法来给不同的终端使用差异化的方案。
@supports ( display: flex ) { body { display: flex; } #aside { width: 210px; } #main { flex: auto; } } @supports not ( display: flex ) { #aside { float: left; width: 210px; } #main { overflow: hidden; *zoom: 1; } }
你也可以写多重规则来进行过滤:
示例代码:
@supports ( box-shadow: 2px 2px ) or
( -moz-box-shadow: 2px 2px ) or
( -webkit-box-shadow: 2px 2px ) {
.demo {
-moz-box-shadow: 2px 2px 0 rgba(0, 0, 0, .3);
-webkit-box-shadow: 2px 2px 0 rgba(0, 0, 0, .3);
box-shadow: 2px 2px 0 rgba(0, 0, 0, .3);
}
}
IE | Firefox | Chrome | Safari | Opera | iOS Safari | Android Browser | Android Chrome |
---|---|---|---|---|---|---|---|
6.0-11.0 | 2.0-21.0 | 4.0-27.0 | 6.0-8.0 | 15.0+ | 6.0-8.4 | 2.1-4.3 | 18.0-26.0 |
12.0+ | 22.0+ | 28.0+ | 9.0+ | 9.0+ | 4.4+ | 27.0+ |
<!DOCTYPE html> <html lang="zh-cmn-Hans"> <head> <meta charset="utf-8" /> <title>@supports_CSS参考手册_web前端开发参考手册系列</title> <meta name="author" content="Joy Du(飘零雾雨), dooyoe@gmail.com, www.doyoe.com" /> <style> @supports ( display: flex ) { body { display: flex; } #aside { width: 210px; } #main { flex: auto; } } @supports not ( display: flex ) { #aside { float: left; width: 210px; } #main { overflow: hidden; *zoom: 1; } } </style> </head> <body> <div id="aside">aside</div> <div id="main">main</div> </body> </html>
点击 "运行实例" 按钮查看在线实例