Web前端入门第 26 问:CSS 浏览器兼容性怎么查?
学编码之前,当先学排查问题的能力。
在那个 IE 浏览器 当道的时代,前端开发简直就是刀耕火种一般,一个简单的圆角模块,嘿...不好意思,它不支持,用图片吧。
但凡经历过 IE 的洗礼,就会知道当时哪些 红极一时 的浏览器 bug,特别是 IE 6,它真是一个 老六 啊,悄悄咪咪的挖了好多坑,刚填平一个,又掉进另一个。例如:双倍外边距、margin自动居中、PNG 图片不透明 等。
如今,能避免这些奇奇怪怪的 bug,真应该给 Google Chrome “烧香”。
浏览器兼容是什么
虽然现在不会再去填 老六 的坑,但由于 CSS 标准每年都在更新,有些新的 CSS 规范在一些旧版本浏览器上还是不支持,这时候如果使用了不支持的 CSS 规范,就会出现属性无效的情况;还可能某些 CSS 属性在 Chrome 浏览器上面支持,但在 Edge 浏览器不支持;这些就是 浏览器兼容 问题。
遇到过的经典坑
曾经有这么一个问题,部分 iOS 手机微信中公众号网页出现了白屏,页面打不开,然而开发环境一切正常,最后排查到是这么一个正则表达式引起的 /(?<=\.)\w*/,原因是此写法在 iOS 16.3 都还不支持,导致 JS 运行报错,页面无法打开。兼容如下:

浏览器兼容性查询
在使用某个不确定的 CSS / JS 属性之前,就应该先查询一下,这个属性在各个浏览器的支持情况。
或者浏览器出现某个样式 bug 的时候,可以先排查是否是兼容性引起的。
- 首选 Can I Use
浏览器兼容性查询,首选 Can I Use( https://caniuse.com/ )网站,这个网站会根据输入的属性关键词查询出该属性在各个浏览器的支持情况。
以 LCH() 颜色表示方法为例:

- 备用 MDN
MDN ( https://developer.mozilla.org/ ) 在 CSS / JS / HTML 等规范上,都提供了详细的兼容性说明,可以作为补充。
以 LCH() 颜色表示方法为例:

总结
编程里面兼容问题一直存在,无法避免,但我们在使用某些新的特性之前,应当对此有心理准备,使用新特性有什么后果,应当有一个心理预期,避免出现问题时候被打得措手不及。
Web前端入门第 26 问:CSS 浏览器兼容性怎么查?的更多相关文章
- web前端入坑第五篇:秒懂Vuejs、Angular、React原理和前端发展历史
秒懂Vuejs.Angular.React原理和前端发展历史 2017-04-07 小北哥哥 前端你别闹 今天来说说 "前端发展历史和框架" 「前端程序发展的历史」 「 不学自知, ...
- 好程序员web前端分享18个用CSS制作出来的东西
好程序员web前端分享18个用CSS制作出来的东西,与流行的看法相反,CSS不仅仅是用来提供一个WEB页面的基本风格,以使它看起来更有吸引力.还有很多其他的事情,CSS也可以做的很好.由于它创建动画和 ...
- 进击的Python【第十三章】:Web前端基础之HTML与CSS样式
进击的Python[第十四章]:Web前端基础之HTML与CSS样式 一.web框架的本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客 ...
- 好程序员web前端分享值得参考的css理论:OOCSS、SMACSS与BEM
好程序员web前端分享值得参考的css理论:OOCSS.SMACSS与BEM 最近在The Sass Way里看到了Modular CSS typography一文,发现文章在开头部分就提到了OOCS ...
- Android零基础入门第26节:layout_gravity和gravity大不同
原文:Android零基础入门第26节:layout_gravity和gravity大不同 上一期我们一起学习了LinearLayout线性布局的方向.填充模型和权重,本期来一起学习LinearLay ...
- web前端入坑第二篇:web前端到底怎么学?干货资料! 【转】
http://blog.csdn.net/xllily_11/article/details/52145172 版权声明:本文为博主[小北]原创文章,如要转载请评论回复.个人前端公众号:前端你别闹,J ...
- Brackets - 强大免费的开源跨平台Web前端开发工具IDE (HTML/CSS/Javascript代码编辑器)
Brackets 是一个免费.开源且跨平台的 HTML/CSS/JavaScript 前端 WEB 集成开发环境 (IDE工具).该项目由 Adobe 创建和维护,根据MIT许可证发布,支持 Wind ...
- web前端(7)—— 了解CSS样式,引入css样式的方式
CSS 在前面大概的介绍了css,从本片博文开始,会详细的介绍它,在最开始介绍web前端时,打开百度首页,当时我提出了一个问题,为什么百度首页的输入框可以放在正中间,就是由于有css的控制,我们可以打 ...
- [转载]Brackets - 强大免费的开源跨平台Web前端开发工具IDE (HTML/CSS/Javascript代码编辑器)
http://brackets.io/ Brackets 是一个免费.开源且跨平台的 HTML/CSS/JavaScript 前端 WEB 集成开发环境 (IDE工具).该项目由 Adobe 创建和维 ...
- web前端的10个顶级CSS UI开源框架
随着CSS3和HTML5的流行,我们的WEB页面不仅需要更人性化的设计理念,而且需要更酷的页面特效和用户体验.作为开发者,我们需要了解一些宝贵的CSS UI开源框架资源,它们可以帮助我们更快更好地实现 ...
随机推荐
- G1原理—5.G1垃圾回收过程之Mixed GC
大纲 1.Mixed GC混合回收是什么 2.YGC可作为Mixed GC的初始标记阶段 3.Mixed GC并发标记算法详解(一) 4.Mixed GC并发标记算法详解(二) 5.Mixed GC并 ...
- 第六章 (Nginx+Lua)Web开发实战HTTP服务
此处我说的HTTP服务主要指如访问京东网站时我们看到的热门搜索.用户登录.实时价格.实时库存.服务支持.广告语等这种非Web页面,而是在Web页面中异步加载的相关数据.这些服务有个特点即访问量巨大.逻 ...
- 金山毒霸提示这是高危入侵行为taskeng.exe
如果安装了金山毒霸之后经常会弹窗提示:这是高位入侵行为.行为发起taskeng.exe.可疑进程regsvr32.EXE,可疑路径antivirus.php,如下入所示: 可以直接点击"阻止 ...
- c代码部分封装为lib
需求:将一个C工程中的核心代码封装为静态文件:lib. 环境 工具:VC6.0++ 语言:c 以封装一个DES工程为例 封装 (1)新建一个静态工程 (2)新建c文件和h文件 (3)挑选封装内容 在原 ...
- SpringBoot启动源码分析
- FastReport实现遍历Dataset数据集计算
delphi在使用fastreport进行打印时,需要对数据进行计算求和. 在打印文本框的OnBeforePrint事件中进行以下代码即可实现效果 procedure Memo7OnBeforePri ...
- Jenkins+Coverage的代码覆盖率集成实践
Jenkins+Coverage的代码覆盖率集成实践 一.工具介绍 Jenkins: Jenkins是一个开源的.基于Java开发的持续集成工具,它可以帮助开发人员自动化构建.测试和部署软件项目. C ...
- Python 数
Python 数 在Python中,数字是编程中不可或缺的一部分.Python支持多种类型的数字,包括整数.浮点数等.下面我们将详细介绍这些数字类型以及它们之间的运算和格式化. 整数 整数是Pytho ...
- centos7关闭不必要的服务和端口
云服务器开启很多不必要的端口,造成安全隐患 TCP 25端口:邮件服务 systemctl stop postfix 53端口 :域名解析服务 systemctl stop rhel-domainna ...
- 使用iceberg-使用Iceberg数据湖需要注意的点
一.资料准备 1.mysql地址选择 因为阿里云只读节点binlog保留时间短,需要用读写集群地址.可以登录阿里云控制台查看地址是只读还是读写,不清楚的话可以找dba要读写地址. 二.Iceberg概 ...