BFC笔记

formatting context是w3c css2.1规范中的一个概念,是页面中的一块渲染区域,并且有一套渲染规则,他决定了其子元素如何定位,以及和其他元素的关系和相互作用。最常见的便是BFC(块级格式化上下文)
是一个独立的渲染区域,只有block-level box参与,规定了内部的block-level box如何布局,并且与这个区域外部毫不相干,通俗的讲,bfc是一个容器,用于管理块级元素。
如何创建
float为left|right overflow为hidden|auto|display display为table-cell position为absolute 根元素
BFC布局规则:内部box在垂直方向,一个一个排列。
BFC的区域不会与float box重叠(利用这点可以实现自适应两栏布局)。
内部垂直方向距离有margin决定。属于同一个bfc的2个相邻box会发生margin重叠。
margin重叠3个条件:同属于一个bfc,相邻,块级元素
计算bfc高度时,浮动元素也参与运算。
bfc是页面上的一个独立容器,容器内部的子元素不会影响到外部。