20
2012
05

关于内层div设置margin-top不起作用的解决方案-参考百度文档

就是外层DIV设置了高与宽,内层DIV如果设置maring-top不起作用(FIREFOX和IE8中测试),原因大致是内层div没有获得layout。如下面的代码:

<style>

    .aDiv {background:red; width:300px; height:300px;  }
    .bDiv {background:green; position:relative; width:100px; height:20px; margin-top:10px;}
     .cDiv {background:black; position:relative; width:100px; height:20px;}
</style>

<div class="aDiv">
   <div class="bDiv"></div>
   <div class="cDiv"></div>
</div>

测试发现,bDiv的margin-top不起作用,仍是0px的显示效果。如果在firefox中用firebug查看,可以看到margin-top是有值的,为10px;解决问题如下:

 

1、把margin-top改成padding-top,不过,前提是内层的Div没有设置边框
2、给外层的Div加padding-top
3、给外层DIV加:

A、float: left或right  

B、position: absolute  

C、display: inline-block或table-cell或其他 table 类型  

D、overflow: hidden或auto

 

比如,可以更改上述代码如下:

<style>

.a {background:red; width:300px; height:300px; float:left; }
.b {background:green; position:relative; width:100px; height:20px; margin:10px;}
.c {background:black; position:relative; width:100px; height:20px;}

.clear{ clear:both;}
</style>

<div class="a">
   <div class="b"></div>
   <div class="c"></div>
</div>

<div class="clear"></div>

 

注意:后面要加一个清除浮动。



版权声明:
作者:真爱无限 出处:http://www.pukuimin.top 本文为博主原创文章版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接.
« 上一篇下一篇 »

相关文章:

评论列表:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。