CSS---关于内层DIV设置margin-top不起作用的解决方案

Posted 有挫败才有成长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS---关于内层DIV设置margin-top不起作用的解决方案相关的知识,希望对你有一定的参考价值。

关于内层DIV设置margin-top不起作用的解决方案

 

代码如下:

<div>上部层</div>

<div> <!--父层-->
     <div style="margin-top:200px;">子层</div>
</div>

理想中的效果是父层和上部层贴边显示,子层距离父层顶部有200px的距离,在ie中正常,但是在ff中却出现问题,子层和父层贴边了,而父层和上部层却间隔了200px。

百思不得其解,求助google,得到如下的一句:

当两个容器嵌套时,如果外层容器和内层容器之间没有别的元素,firefox会把内层元素的margin-top作用与父元素。

也就是说因为子层是父层的第一个非空子元素,所以使用margin-top会发生这个错误。

解决的办法有两个:

1、使用浮动来解决,即将子层代码改为:<div style="margin-top:200px;float:left";>子层</div>

2、使用padding-top来解决,即:

<div style="padding-top:200px;">
    <div>子层</div>
</div>

以上是关于CSS---关于内层DIV设置margin-top不起作用的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

《转》关于内层DIV设置margin-top不起作用的解决方案

关于内层DIV设置margin-top不起作用的解决方案

css样式总结体会

margin塌陷现象(即在内层设置margin-top无效的解决办法)

学习css 在用margin进行布局的时候,内层使用margin-top应该是相对于父层边框定位,为啥连父层也一起移动

一个关于margin-top的问题