由于不同浏览器的内核不一致,导致各个浏览器对网页的解析产生差异。
html部分
1.低版本的浏览器无法识别新标签,主要体现在html5的新标签上, IE9和IE10已经兼容支持html5和css3.0,htmlshim框架可以让低于IE9的浏览器支持html5
最直接办法:
(function(){
var element=['header','footer','article','aside','section','nav','menu','hgroup','details','dialog','figure','figcaption'],
len=element.length;
while(len--){
document.createElement(element[i])
}
})();
或者以IE特有的注释方式引入js文件:
[if lte IE 9]
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
![endif]
2.ul标签在IE6\IE7中,有个默认外边距,在IE8以上及其他浏览器中默认有16px上下外边距和40px左内边距
3.IE6下无法设置1px的行高,原因是其默认行高引起的
解决办法:为其设置overflow:hidden;或者 zoom:0.08或者line-height:1px;
css部分
1.块元素横向布局float后,横向的间距设置如果用margin实现,在ie6显示margin比设置的大,后面的块元素会被顶到下一行
解决办法:在float的标签样式控制中加入 display:inline;将其转化为行内属性