欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
CSS中上下margin的传递和折叠
 
1.margin-top传递
为什么会产生上边距传递?
 
块级元素的顶部线和父元素的顶部线重叠,那么这个块级元素的margin-top值会传递给父元素。
 
示例代码:给inner盒子设置margin-top: 20px;。
 
.reference {
  width: 100px;
  height: 100px;
  background-color: #f00;
  color: #fff;
}
 
.box {
  width: 200px;
  height: 200px;
  background-color: #0f0;
}
 
 .inner {
   width: 100px;
   height: 100px;
   background-color: #00f;
   margin-top: 20px;
 }
<div class="reference">参考盒子</div>
<div class="box">
  <div class="inner"></div>
</div>
 
inner的margin-top的值传递给了box。
 
2.margin-bottom传递
为什么会产生下边距传递?
 
块级元素的底部线和父元素的底部线重叠,并且父元素的高度是auto,那么这个块级元素的margin-bottom值会传递给父元素。
 
示例代码:给inner盒子设置margin-bottom: 20px;,并且给父元素设置height: auto;。
 
.box {
  width: 200px;
  height: auto; /* 给父元素高度设置auto,或者不设置高度,默认为auto */
  background-color: #0f0;
}
 
.inner {
  width: 100px;
  height: 100px;
  background-color: #00f;
  margin-bottom: 20px;
  color: #fff;
}
 
.reference {
  width: 100px;
  height: 100px;
  background-color: #f00;
  color: #fff;
}
<div class="box">
  <div class="inner">inner</div>
</div>
<div class="reference">参考盒子</div>
 
inner的margin-bottom的值传递给了box。

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h64650.shtml