这应该就是著名的IE6 Double-Margin Bug了。
当margin与浮动元素在同一个方向时,IE6会把浮动元素中定义的margin值翻倍。
例如:
元素是左浮动(float left) 属性有margin-left: 100px;
则在IE6下会margin-left加倍也就是200px;
double margin* {padding:0; margin:0;}
#left {
float:left;
border:1px solid #CCC;
margin-left:100px;
}
#width-100px {
clear:both;
width:98px;
border:1px solid #00F;
}
left
100px
解决方法是在浮动元素中添加css样式display:inline;
#left {
float:left;
border:1px solid #CCC;
margin-left:100px;
display:inline;
}
注意:只有当元素的的边距碰到其外围绕块的边沿时才会发发生双margin。如果元素向左浮动碰到一个左浮动的元素时它的margin不会翻倍。