父子div发生margin重叠

本文介绍了一种在网页布局中常见的问题——父子div元素的margin重叠现象,并提供了五种有效的解决方案,包括调整padding、使用overflow属性、声明浮动、添加边框及使用绝对定位。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码如下:

<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>Document</title>
  <style>
  #father{
  width:500px;
  height:500px;
  background:pink;
  margin:10px;
  


  }
  #son{
   width:200px;
   height:200px;
   background:gray;
   
   margin:10px;
  }
  </style>
 </head>
 <body>
  <div id="father">
  <div id="son"></div>
  </div>
 </body>
</html>

启动浏览器效果如下,发现父子div设置的margin发生了重叠。

原因:所有同级或者嵌套的盒元素,它们的margin会发生重叠

解决办法:

1、修改父元素的高度,增加padding-top样式模拟(padding-top:1px;常用) 
2、为父元素添加overflow:hidden;样式即可(完美) 
3、为父元素或者子元素声明浮动(float:left;可用) 
4、为父元素添加border(border:1px solid transparent可用) 
5、为父元素或者子元素声明绝对定位
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值