1 浏览器内核
不同浏览器的内核也不尽相同,所以各个浏览器对网页的解析存在一定的差异。
常见的浏览器内核:
浏览器名称 | 内核 |
---|---|
IE | Trident内核,也称IE内核 |
Chrome(谷歌) | 以前是Webkit内核,现在是Blink内核 |
Firefox(火狐) | Gecko([ˈɡekəʊ])内核,俗称Firefox内核 |
Opera | 最初是自己的Presto内核,后来是Webkit,现在是Blink内核 |
Safari | Webkit内核 |
360、猎豹 | IE + Chrome双内核 |
QQ浏览器 | Trident(兼容模式)+ Webkit(高速模式) |
2 常见浏览器兼容问题
1 不同浏览器标签默认的内外间距不同
问题症状:随便写几个标签,不加样式控制的情况下,各自的 margin 和 padding 差异较大
解决方案: { margin:0;padding:0; }
注:这是最常见的浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符**来设置各个标签的内外间距为0
2 图片默认有间距
问题症状:几个img标签放在一起的时候,有些浏览器会有默认的间距,加了问题一中提到的通配符也不起作用。
解决方案:img{ float: left; }
3 chrome最小字体12px
(1)在谷歌浏览器设置中直接更改最小字号(默认设置了12px)
(2)使用 -webkit-transform 属性(-webkit-是谷歌浏览器的前缀)
font-size: 9px;
-webkit-transform: scale(0.75); /* 9/12 = 0.75 */ /* scale(x) 缩放x倍*/
4 不同浏览器的默认样式存在差异,可以使用 Normalize.css 抹平这些差异:
不同浏览器的默认样式存在差异。比如默认超链接下划线,有些浏览器有,有些浏览器没有;比如有些浏览器超链接默认颜色是蓝色,有一些又是黑色。
Normalize.css 的功能就是对几乎所有的默认样式进行重置,让所有的浏览器对于未定义的样式浏览效果达到一致。