为什么会出现兼容性问题?由于市面上浏览器种类太多,对css的解析也是五花八门,导致显示效果不一致,同时也带来了兼容性问题。例如,同一个零件的不同厂家都有自己的一套模板,所以或多或少都会有偏差。为什么程序员喜欢用Chrome?市面上的浏览器那么多,我们不可能全部都兼容,不然一个样式就是一堆代码敲出来。这不是头痛。因此,我们对一些用户一般的浏览器有了一个大概的了解。而根据世界权威市场研究机构NetMarketShare发布的2018年10月各浏览器的市场份额,我们可以看到,Chrome的份额达到了66.43%。所以像我这样的新手开始学习前端使用的浏览器也是谷歌浏览器。现在让我们谈谈浏览器的私有属性。如果你想做点特别的,加点-webkit-,-moz-,-ms-之类的稀奇古怪的东西,把样式写好不是很好吗???这些实际上是浏览器的私有属性。你是不是有点好奇为什么?如果有私有属性,大家把前面去掉不是更方便吗?作为程序员,我希望所有的浏览器都有一个统一的风格。这是因为制定HTML和CSS的组织W3C的审批速度比较慢。例如:有W3C组织提出了一个新的属性,比如border-radius,所有的浏览器都认为:哈??!!听起来很不错,边框终于不是正方形了,但是W3C的标准和流程很慢很复杂。久等了。但是浏览器竞争这么激烈,当然要先用好的。但是又怕W3C公布的标准会变,这也是很头疼的,所以各个浏览器都会加上自己的Prefixes来支持新的属性。等W3C公布标准再确立写法。那么我们来了解一下以下常见的前缀:-moz-表示firefox浏览器的私有属性-ms-表示IE浏览器的私有属性-webkit-表示chrome、safari的私有属性-o-表示opera的私有属性对于私有属性的一些写法,需要注意的是,标准属性写在最后,带有私有属性的样式写在前面。看到这里大家会想我??怎么知道兼容模式需要写哪些属性,第一条信息我都看不懂。能不能用就是这个网站,里面会列出哪些属性需要加前缀,不过这个也很头疼。如果带前缀的属性很少,没关系。如果有很多属性都在前缀里,敲代码就头皮发麻。因此,现在普遍使用Autoprefixer是一个浏览器前缀插件,可以解析CSS文件并为CSS内容添加浏览器前缀,并使用CanIuse数据来判断需要哪些前缀。移动鼠标添加任意前缀,非常方便的一个网站
