文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

CSS怎么检测浏览器的兼容情况

2024-04-02 19:55

关注

这篇文章主要讲解了“CSS怎么检测浏览器的兼容情况”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS怎么检测浏览器的兼容情况”吧!

CSS @supports标记在CSS代码里跟@media查询语句的语法相似:

CSS Code复制内容到剪贴板

  1. @supports(prop:value) {   

  2.    

  3. }  

CSS @supports允许程序员用多种不同的方法来探测当前浏览器是否支持某项CSS样式特征。

基本属性检测
你可以执行对基本属性和属性值的检测:

CSS Code复制内容到剪贴板

  1. @supports (display: flex) {   

  2.  div { display: flex; }   

  3. }  

这是@supports标记最基本的用法。

not关键字
@supports标记可以和‘not’关键字组合,用来应对不支持的情况:

CSS Code复制内容到剪贴板

  1. @supports not (display: flex) {   

  2.  div { float: left; }   

  3. }  

多检测及条件检测

CSS Code复制内容到剪贴板

  1.   

  2. @supports (display: -webkit-flex) or   

  3.           (display: -moz-flex) or   

  4.           (display: flex) {   

  5.   

  6.       

  7. }   

  8.   

  9.   

  10. @supports (display: flex) and (-webkit-appearance: caret) {   

  11.   

  12.    

  13. }   

  14.   

  15.   

  16. @supports ((display: -webkit-flex) or   

  17.           (display: -moz-flex) or   

  18.           (display: flex)) and (-webkit-appearance: caret) {   

  19.   

  20.       

  21. }  

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);具体使用看下例:

JavaScript Code复制内容到剪贴板

  1. //测试环境,Chrome:34.0.1847.131 m   

  2. var res01 = CSS.supports("text-decoration-style", "blink");   

  3. //Outputs: false   

  4. console.log(res01);   

  5.   

  6. var res02 = CSS.supports("display", "flex");   

  7. //Outputs: true   

  8. console.log(res02);   

  9.   

  10. var res03 = CSS.supports("( transform-origin: 5% 5% )");   

  11. //Outputs: false   

  12. console.log(res03);   

  13.   

  14. var res04 = CSS.supports("( transform-style: preserve ) or ( -moz-transform-style: preserve ) or " +   

  15.                       "( -o-transform-style: preserve ) or ( -webkit-transform-style: preserve )" );   

  16. //Outputs: false   

  17. console.log(res04);  

@supports的使用场景

大多数情况,@supports是用来支持老式浏览器,并在有可能的情况下,利用现代浏览器的新特征来提高用户体验。@supports的一个最重要的使用场景是页面布局。很多现代浏览器都提供了对flexbox网页布局的支持,在这种还有很多浏览器不支持的情况下,你的代码可以写成这样:

CSS Code复制内容到剪贴板

  1. section {   

  2.  float: left;   

  3. }   

  4.   

  5. @supports (display: -webkit-flex) or   

  6.           (display: -moz-flex) or   

  7.           (display: flex) {   

  8.   

  9.     section {   

  10.       display: -webkit-flex;   

  11.       display: -moz-flex;   

  12.      display: flex;   

  13.      float: none;   

  14.     }   

  15. }  

感谢各位的阅读,以上就是“CSS怎么检测浏览器的兼容情况”的内容了,经过本文的学习后,相信大家对CSS怎么检测浏览器的兼容情况这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯