块级格式化上下文(BFC)
· 阅读需 4 分钟
最后更新于 2016-07-22 16:35:00
在进行页面布局时,通常有流式布局、定位布局、浮动布局这三种形式。而在布局过程中,各元素之间的影响却是一个很关键的问题。
BFC
BFC(Block Formatting Context,块级格式化上下文)是 CSS 2.1 中的一个规范,在 CSS 3 中也称为 Flow Root。首先,BFC 是块级元素身上的一个特性,通常它是隐藏不生效的,但某些情况下它会显现出来:
float
不为none
position
不为static
、relative
overflow
不为visible
display
不为table-cell
、table-caption
、inline-block
、flex
、inline-flex
只要满足上述任一条件,该块级元素身上的 BFC 特性即会显现出来。
BFC 特性
BFC 特性所展现出来的效果可以通俗的总结为,**BFC 特性导致块级元素成为一个容器盒子,将会把容器内的元素与容器外的元素相互隔离(也就是说容器内外的元素之间不再发生相互作用)。**于是乎,我们就可以说该容器内的所有元素都处在了同一个块级格式化上下文中,只有它们之间才会发生相互作用。