解决margin-top没有效果

 margin-top没有效果怎么办?

代码如下所示:(其中#div2嵌套在#div1中)

<!--css样式-->
#div1{
 width:100px;
 height:100px;
 background:green;
}

#div2{
 margin-top:10px;
 width:50px;
 height:50px;
 background:red;
}
<!--html代码-->
<div id="div1">
   <div id="div2"></div> 
</div>

 

 样式设置成如上后,#div1与#div2的上边距重合。

解决方法如下

1.为#div1设置一个透明边框:border:1px solid transparent;

<!--css样式-->
#div1{
 width:100px;
 height:100px;
 background:green;
 border-top:1px solid transparent;
}

#div2{
 margin-top:10px;
 width:50px;
 height:50px;
 background:red;
}
<!--html代码-->
<div id="div1">
   <div id="div2"></div> 
</div>

 

注:这样做会使#div1的宽度和高度均增加2px,影响美观;

2.给#div1的上边框设置一个内边距,值为10px,那么#div1的高度减去10px,因为设置内边距后,自身会膨胀,并且去掉#div2中margin-top属性。

<!--css样式-->
#div1{
 width:100px;
 height:90px;
 background:green;
 padding-top:10px;
}

#div2{
 width:50px;
 height:50px;
 background:red;
}
<!--html代码-->
<div id="div1">
   <div id="div2"></div> 
</di>

3.引入一个高度为0的div,且其内容为&nbsp;

<!--css样式-->
#div1{
 width:100px;
 height:100px;
 background:green;
}

#div2{
 margin-top:10px;
 width:50px;
 height:50px;
 background:red;
}
<!--html代码-->
<div id="div1">
   <div id="div3" style="height:0px">&nbsp;</div>
   <div id="div2"></div> 
</div>

注意:新增的div中的&nbsp;不能省略。

 

转载于:https://www.cnblogs.com/yddlvo/p/4659981.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值