本文主要包含supports,supports是什么意思,supports screens,supports html5 video,propagation supports等相关知识,佚名 希望在学习及工作中可以帮助到您
CSS @supports标记在CSS代码里跟@media查询语句的语法相似:
</div>
- @supports(prop:value) {
- /* 各种样式 */
- }
CSS @supports允许程序员用多种不同的方法来探测当前浏览器是否支持某项CSS样式特征。
基本属性检测
你可以执行对基本属性和属性值的检测:
</div>
- @supports (display: flex) {
- div { display: flex; }
- }
这是@supports标记最基本的用法。
not关键字
@supports标记可以和‘not’关键字组合,用来应对不支持的情况:
</div>
- @supports not (display: flex) {
- div { float: left; } /* 替换样式 */
- }
多检测及条件检测
- /* or */
- @supports (display: -webkit-flex) or
- (display: -moz-flex) or
- (display: flex) {
- /* use styles here */
- }
- /* and */
- @supports (display: flex) and (-webkit-appearance: caret) {
- /* something crazy here */
- }
- /* and and or */
- @supports ((display: -webkit-flex) or
- (display: -moz-flex) or
- (display: flex)) and (-webkit-appearance: caret) {
- /* use styles here */
- }
Javascript CSS.supports()
在Javascript中通过使用window.CSS.supports方法来对CSS @supports进行检测,规范中提供了两个方法,一个方法可以接收两个参数boolValue = CSS.supports(propertyName, value);另一个可以接收一个字符串(A DOMString containing the condition to check),boolValue = CSS.supports(supportCondition);具体使用看下例:
- //测试环境,Chrome:34.0.1847.131 m
- var res01 = CSS.supports("text-decoration-style", "blink");
- //Outputs: false
- console.log(res01);
- var res02 = CSS.supports("display", "flex");
- //Outputs: true
- console.log(res02);
- var res03 = CSS.supports("( transform-origin: 5% 5% )");
- //Outputs: false
- console.log(res03);
- var res04 = CSS.supports("( transform-style: preserve ) or ( -moz-transform-style: preserve ) or " +
- "( -o-transform-style: preserve ) or ( -webkit-transform-style: preserve )" );
- //Outputs: false