class=b的div为什么右侧的margin会超出class=a的div?

图片描述

 <div class="a">
             <div class="b"></div>
     </div>
.a{
    width: 100px;
    height: 100px;
    background-color: red;
}
.b{
    margin: 20px;
    width: 50px;
    height: 50px;
    background-color: blue;
}
阅读 2.2k
3 个回答

如果外层div没有设置边框或是内边距的话,也即没有东西挡着它的话,内部外边会穿透到外层,跟外层平行

查查BFC?这个问题网上还是好多的。
设置一下overflow:hidden;?

这是由于外边距叠加造成的:两个或多个毗邻的普通流中的块元素垂直方向上的 margin 会折叠

解决办法:在.a元素上触发 BFC,外边距叠加就会被取消了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题