1.WhatisBFCBFC(blockformattingcontext):块级格式化上下文。简单的说,就是影响元素之间的位置和间距的属性。2.如何触发(创建)BFCfloat:给元素添加floatingleftright(none除外)overflow:给元素添加overflow属性hidden,auto,scroll(除了visible)display:给元素添加display属性table-cell,table-caption,inline-block,flex,inline-flexposition:给元素添加绝对定位,fixed3。BFC特征里面的Box会从上往下垂直方向依次放置。Box的垂直距离由margin决定。属于同一个BFC的两个相邻Box的边距会叠加,不管方向如何。每个元素的margin-left触及包含块的左侧(border-left)(对于从左到右的格式,反之亦然)。即使存在浮动也是如此。BFC的区域不会与float的元素区域重叠。BFC在页面上是一个隔离的、独立的容器。容器内的子元素不会影响容器外的元素,反之亦然。BFC计算高度时,浮动的子元素也参与计算。4.BFC形成后的常见问题MarginoverlapproblemFloating相关问题5.BFC可以解决Margin叠加问题的问题,为了防止marginoverlap,只需将两个元素放在一个BFC中即可。对于左右布局的元素,我们可以加上overflow:hidden;或者auto到右边的元素,左边是float:left;您可以清除浮动并计算BFC高度。float元素不会拉伸父元素的高度,所以我们可以让父元素触发BFC,即:useoverflow:hidden;
