有关内层div设margin,在外层不起作用的解决方案

这个问题别人向我提了多次,但是我没有怎么重视,今天一同事,再次问我,我特意留意了一下。

先看例子:(有问题的例子

 <style>

     .a {background:red; width:300px; height:300px;  }
     .b {background:green; position:relative; width:100px; height:20px; margin:10px;}
      .c {background:black; position:relative; width:100px; height:20px;}
</style>

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

问题:.b { margin:10px;} margn-top:10px; 没有体现出来,效果却是margin-top:0;用firebug 看的话,我们可以看到margin-top:10px;是在的,但是效果却出现在最外层.a上面,所以一直有点困惑。

解决问题:

 <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>

 

我们在最外层加个浮动,然后在最外层的后面加个清除浮动就OK,问题解决了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值