BFC(Block formatting context):块级格式化上下文。BFC是一个独立的布局环境。
可以利用BFC解决两个相邻元素的上下margin重叠问题。
BFC的特性:属于同一个BFC的两个相邻容器的上下margin会重叠
<div>
<div class="a"></div>
<div class="b"></div>
</div>
a设置margin-bottom为20px,b设置margin-top为30px,最终a与b的间距不是50px,而是30px;因为上下margin重叠了,所以间距取二者的最大值。
解决方案:给其中一个div外面包一层父元素,并设置 overflow: hidden;
(同一个BFC的两个相邻的Box会margin重叠,所以我们可以设置两个不同的BFC,就是在其中一个box外面再包一层div)
<div>
<div class="a"></div>
<div class="c" style="overflow: hidden;"> <!--用c把b包起来,并设置overflow: hidden-->
<div class="b"></div>
</div>
</div>