前端常见面试题饥人谷技术博客

margin合并

2017-03-23  本文已影响27人  辉夜乀
<body>
  <div class="box">
    <div class="box-1">
      <div class="box-2"></div>
    </div>
  </div>
</body>
.box{
  border: 1px solid;
  padding: 0;
}
.box-1{
  width: 200px;
  height: 200px;
  background: red;
  margin: 50px auto;
}
 .box-2{
  width: 100px;
  height: 100px;
  background: yellow;
  margin: 50px auto;
} 
Paste_Image.png

红色父元素和黄色子元素的上下margin都是50px,
它们相邻的时候,上下margin就发生了合并,

<body>
  <div class="box">
    <div class="box-1">
      <div class="box-2"></div>
    </div>
  </div>
</body>
.box{
  border: 1px solid;
  padding: 0;
}
.box-1{
  width: 200px;
  height: 200px;
  background: red;
  margin: 50px auto;
}
 .box-2{
  width: 100px;
  height: 100px;
  background: yellow;
  margin: 100px auto;
} 
Paste_Image.png

红色父元素上下margin为50px,黄色子元素的上下margin为100px,它们相邻的时候,上下margin就发生了合并,且取值为较大的100px。

<body>
  <div class="box">
    <div class="box-1">
      <div class="box-2"></div>
    </div>
  </div>
</body>
.box{
  border: 1px solid;
  padding: 0;
}
.box-1{
  width: 200px;
  height: 200px;
  background: red;
  margin: 50px auto;
  display:inline-block;
}
 .box-2{
  width: 100px;
  height: 100px;
  background: yellow;
  margin: 50px auto;
} 
Paste_Image.png

对父元素设置display: inline-block;后,父子元素不在同一个BFC中,他们的margin就不会合并了。

上一篇 下一篇

猜你喜欢

热点阅读