所以正是浏览器厂商对CSS3新增功能的实现时间参差不齐,导致了CSS3属性各种各样不兼容的问题。
那如何解决兼容性紊乱的问题呢?
方法一:查文档查手册
下面是两个最常用的两个网址caniuse和CSS手册:
当我们要用某个属性的时候,就去上面两个网址查找该属性的兼容性,对应你要兼容到的浏览器版本,对应的加上前缀之类的操作,如columns:
小结一下,各主流浏览器常加的特殊标记:
1. Safari/Chrome: -webkit-
2. IE:-ms-
3. Firefox:-moz-
4. Opera:-o-
方法二:使用后处理器比如autoprefixer插件自动补齐前缀
这里简单讲一下后处理器和预处理器
注意:cssNext和autoprefixer依赖于postCss
postCss的本质是用js实现的CSS的抽象语法树(AST : Abustract Syntax Tree)
说白了postCss就像一个插槽一样,剩下的具体事情留个其他插件来做了,cssNext和autoprefixer就是它其中的两个插件
CSS hack的写法大致归纳为3种:条件hack、属性级hack、选择符级hack。 (1)条件hack主要针对IE浏览器进行一些特殊的设置 <!--[if<keywords>? IE <version>?]>代码..