@supports (rule)[operator (rule)]* { sRules }
operator:or | and | not
or | and | not
等操作符指定多条规则。示例代码:
@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+ |