BFC的特征包括:可以清除浮动、创建块级格式化上下文、内部box的垂直方向会一个接一个放置。当一个元素成为BFC后,它的内部元素会按照一定的规则进行布局,其中一个规则是同一个BFC下的块级盒子会按照其在文档流中出现的顺序,在垂直方向上一个接一个放置,不会出现重叠的情况。这是因为BFC内部的元素会形成一个独立的渲染区域,不会与外部元素互相影响。如果BFC内的元素存在浮动,BFC会自动触发伸缩布局(shrink-to-fit),在保证浮动元素不溢出BFC边界的前提下,让BFC的宽度缩小到最小值。这就是BFC内部box在垂直方向一个接一个放置的解释。