zhangchengchao 发表于 2013-2-7 18:50:10

火狐中解决margin-top问题的方法

在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……
页: [1]
查看完整版本: 火狐中解决margin-top问题的方法