日期:2014-05-17  浏览次数:20644 次

CSS浏览器差异、BUG总结

DOCTYPE 影响 CSS 处理

IE6经典Bug之双倍边距

1.?? 现象:

这个bug非常常见,如果发现IE6里的某个距离变大,首先考虑是否是双倍边距问题。IE6双倍边距即IE6下的margin值翻倍,即:假如设置的属性是margin-left:20px,那么在ie6中的效果就是margin-left:40px

注意:padding也是同样,也是同样处理

2.?? 出现条件:

1、存在于父元素与子元素之间

2、子元素同时设置了浮动和外边距属性

3、并且浮动方向与外边距方向一致(如:同时设置了margin-leftfloat:left

3.?? 解决办法

divdisplay设置为inline

Margin加倍的问题

设置为floatdivie下设置的margin会加倍。这是一个ie6都存在的bug
解决方案是在这个div里面加上
display:inline;????
例如:

<div id=”imfloat”>????
相应的css
????
#IamFloat
{
float:left; margin:5px;/*IE6
下理解为
10px*/?
display:inline;/*IE6
下再理解为
5px*/
}??

IE6DIV高度小于10px时高度无效。

我们只要把字体设为0就可以解决。
例如:.mm{height:3px; font-size:0}