最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

即将来到:CSSFeatureQueries(CSS特性查询)_html/css_WEB-ITnose

来源:懂视网 责编:小采 时间:2020-11-27 15:55:21
文档

即将来到:CSSFeatureQueries(CSS特性查询)_html/css_WEB-ITnose

即将来到:CSSFeatureQueries(CSS特性查询)_html/css_WEB-ITnose:Feature Queries 是CSS3 Conditional Rules specification中的一部分,它支持@supports规则,@supports规则可以用来测试浏览器是否支持CSS属性和值对。CSS本身有降级机制,比如忽视不支持的属性或值,但当很重要的属性直接被忽视也是很严重的,这个时
推荐度:
导读即将来到:CSSFeatureQueries(CSS特性查询)_html/css_WEB-ITnose:Feature Queries 是CSS3 Conditional Rules specification中的一部分,它支持@supports规则,@supports规则可以用来测试浏览器是否支持CSS属性和值对。CSS本身有降级机制,比如忽视不支持的属性或值,但当很重要的属性直接被忽视也是很严重的,这个时

Feature Queries 是CSS3 Conditional Rules specification中的一部分,它支持“@supports”规则,“@supports”规则可以用来测试浏览器是否支持CSS属性和值对。CSS本身有降级机制,比如忽视不支持的属性或值,但当很重要的属性直接被忽视也是很严重的,这个时候你可以用Feature Queries 测试是否支持所有的CSS规则,还可以优化你的页面。Queries在各个浏览器中已经有很多稳定的实现了,比如Chrome,Firefox和 Opera。对浏览器的支持仍在加强,你有必要了解一下Featue Queries, 并决定是否在现在的项目中合适它。

Feature Queries in CSS

Feature Queries和Media Queries有点像,举一个简单的例子,你可以要求浏览器运行一个CSS的margin属性。

@supports (margin: 0) { /*CSS to apply*/ }

如果你不太明白,让我们举一个现实中的例子,假如你想用backgrund-blend-mode来给背景图片着色,可以在原有的灰度图片中添加一个颜色。

在线调试唯一地址:http://www.gbtags.com/gb/debug/76f8c728-796d-48c7-a82f-f8400e8ba2a0.htm

 body { background-blend-mode: multiply; background: linear-gradient(rgb(59, 89, 106) , rgb(63, 154, 130)) , url(background.png); }

这个功能很酷不是么?然而,浏览器对它的支持还在完善之中, background-blend-mode 目前已经可以在很多浏览器中使用了, 但是仍有一些无法显示出想要的效果。 为了在无法显示效果的浏览器中同样完成这个功能,我们可以通过类似半透明颜色叠加的方式。

 body { background: #3F9A82; background: linear-gradient(rgba(59, 89, 106, 0.8) , rgba(63, 154, 130, 0.8)) , url(background.png); }

上面的代码中,如果浏览器不支持semi-transparent颜色图层,那就只能显示一种背景。如果我们使用Feature Query,我们可以根据情况来改变背景。Feature Query这里就更像Media Query了,,使用@supports并在括号内添加CSS声明即可使用。

 @supports (background-blend-mode: multiply) { body { background-blend-mode: multiply; background: linear-gradient(rgb(59, 89, 106) , rgb(63, 154, 130)) , url(background.png); } }

Feature Queries in JavaScript

Feature Queries同时也支持JavaScript接口:CSS.supports。我们同样以上面的例子来说明。如果浏览器支持background-blend-mode: multiply,我们可以在body标签中添加 blend-mode。

在线调试唯一地址:http://www.gbtags.com/gb/debug/beef5e87-2159-45e9-872a-c85b51046e29.htm

 window.onload = function() { if (CSS.supports('(background-blend-mode: multiply)')) document.body.classList.add('blend-mode'); }


 body.blend-mode { background-blend-mode: multiply; background: linear-gradient(rgb(59, 89, 106) , rgb(63, 154, 130)) , url(background.png); }

像上面的演示一样,你可以用逻辑运算符(and, or 和 not)来合并测试。举例来说,如果你想要让浏览器同时支持background-blend-mode 和background属性值,你可以编辑下面的内容:

 @supports (background-blend-mode: multiply) and (background: linear-gradient(...), url(...))

或者写成:

 CSS.supports('(background-blend-mode: multiply) \ and (background: linear-gradient(...), url(...))');

相信Feature Queries很快就会在开发者之间广泛流行起来,你需要考虑的就是在什么时候使用它,在测试的时候需要确定它们能在同一个浏览器中适用。虽然 Feature Query对性能方面不会有太大的改善,但是它们可以让你的代码变得更加可控。不妨先试一试这些新特性,然后把感受告诉我们。

极客标签 - 专业和精准的分享,关注你感兴趣的极客,社区提供超棒的精品教程,互动授课

了解前端技术,请访问极客互动课程库和代码录播

阅读原文:即将来到: CSS Feature Queries (CSS特性查询)

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

即将来到:CSSFeatureQueries(CSS特性查询)_html/css_WEB-ITnose

即将来到:CSSFeatureQueries(CSS特性查询)_html/css_WEB-ITnose:Feature Queries 是CSS3 Conditional Rules specification中的一部分,它支持@supports规则,@supports规则可以用来测试浏览器是否支持CSS属性和值对。CSS本身有降级机制,比如忽视不支持的属性或值,但当很重要的属性直接被忽视也是很严重的,这个时
推荐度:
标签: 查询 html 特性
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top