@supports
可以指定依赖于浏览器中的一个或多个特定的CSS功能的支持声明,这被称为特性查询。
1 | @supports (display: grid) { |
声明语法
最基本的支持条件就是 CSS 声明,也就是一个 CSS 属性后跟一个值,中间用冒号分开。
1 | @supports (transform-origin: 5% 5%) {} |
函数语法
测试浏览器是否支持经过测试的选择器语法。
1 | @supports selector(A > B) {} |
not操作符
将 not
操作符放在任何表达式之前就能否定一条表达式。
1 | @supports not (transform-origin: 10em 10em 10em) {} |
and操作符
and
操作符用来将两个原始的表达式做逻辑与后生成一个新的表达式,如果两个原始表达式的值都为真,则生成的表达式也为真。
1 | @supports (display: table-cell) and (display: list-item) {} |
or操作符
or
操作符用来将两个原始的表达式做逻辑或后生成一个新的表达式,如果两个原始表达式的值有一个或者都为真,则生成的表达式也为真。
1 | @supports (transform-style: preserve) or (-moz-transform-style: preserve) {} |