在firefox中,有两个嵌套关系的div,如果外层div的父元素padding值为0,那么内层div的margin-top或者margin-bottom的值会“转移”给外层div。
以上边缘为例:
<div style="background-color:green; color:white;" >绿色</div>
<div style="background-color: black;height:300px; padding-top:0px;">
<div style="background-color: black;height:300px;">
<div style="margin-top:50px;height:150px; background-color:red; color:white;">红色</div>
</div>
</div>
在Firefox中绿色和红色div之间会有50px的白色空隙,而在IE中则为黑色。
解决方法:
1、给红色div的样式增加float属性,例如float:left; width:100%;
2、修改任一黑色div的padding属性为非0值,例如padding-top:1px;
3、红色div上方增加非空元素,例如<div style="height:0;"> </div>
4、当然对于这个例子可以直接用给黑色div的padding-top来取代红色div的margin-top……
以上边缘为例:
<div style="background-color:green; color:white;" >绿色</div>
<div style="background-color: black;height:300px; padding-top:0px;">
<div style="background-color: black;height:300px;">
<div style="margin-top:50px;height:150px; background-color:red; color:white;">红色</div>
</div>
</div>
在Firefox中绿色和红色div之间会有50px的白色空隙,而在IE中则为黑色。
解决方法:
1、给红色div的样式增加float属性,例如float:left; width:100%;
2、修改任一黑色div的padding属性为非0值,例如padding-top:1px;
3、红色div上方增加非空元素,例如<div style="height:0;"> </div>
4、当然对于这个例子可以直接用给黑色div的padding-top来取代红色div的margin-top……