这是由于浏览器的内核是不一样的大概有这么几家:
IE浏览器内核:Trident内核,也是俗称的IE内核;Chrome浏览器内核:统称为Chromium内核,以前是Webkit内核,现在是Blink内核;
Firefox浏览器内核:Gecko内核,俗称Firefox内核;
Safari浏览器内核:Webkit内核;
Opera浏览器内核:最初是自己的Presto内核,后加入谷歌,从Webkit又到了Blink内核;
360浏览器、猎豹浏览器内核:IE+Chrome双内核;
搜狗、遨游、QQ浏览器内核:Trident(兼容模式)+Webkit(高速模式);
百度浏览器、世界之窗内核:IE内核;
但是,这些不同内核的浏览器,CSS3属性中理论上是需要添加不同的前缀,也将其称之为浏览器的私有前缀,添加上私有前缀之后的CSS3属性可以说是对应浏览器的私有属性。之所以,一些属性没有加前缀,各个内核也都能识别,是因为这一部分属性已经形成了默认的标准,各个浏览器内核是普遍认可的。
解决这个问题的方法很多:
通过使用脚本来处理。
通过使用开发是编辑器的插件
通过CSS的预处理器
通过使用自动化工具处理
尽管css的选择器很强大了,但是考虑其兼容性,尽可能的少用,比如大家在做一个前端页面的切图的时候,会看情况:
如果是h5手机网站,推荐用css选择器
如果是pc网站,适当用css选择器
如果是pc网站,并且是政府、学校等机关单位,杜绝用css选择器
不包括
一:css基本选择器有哪些
1.css属性选择器
2.css标签选择器
3.cssID选择器
4.css的通配符
二:css有哪些高级选择器
1.css标签选择器
css标签选择器其实就是页面上的所有类型的标签,大家对经常描述称为共性,对无法描述的称为个性。大家在页面上看到input,div和ul都有可能是选择器,无论这个标签藏得多深,都可能被选择上,并且选择的是所有标签,并不是单单指一个。
2.cssID选择器
css中大家使用#来对名字进行自定义,#是指对一个特殊的标签来使用,并且只能用一次,在任何html标签中,都可以有id属性,但是前提要按照字母开头,更不能用字母去开头,或者和标签同名。还有一些高手建议在css层面上尽量不要使用id。
3.css类选择器
css中类选择器,大家使用.来表示,大家使用类来表示,其实就是比较灵活。class和id是十分相似的,并且同一个标签可以使用很多个类选择器,也可以多种标签使用。
4.css的通配符,可以替换任何标签,目前有些浏览器是不支持使用。