概念:
BFC:Block fomatting context 块级格式上下文
是一个独立的渲染容器,和容器外面的容器互相隔绝,互不影响,应用于块级元素上,它规定了内部如何布局
布局规则:
内部的盒子在垂直方向上,一个一个放置
同一个BFC内的相邻的盒子或者设置同一个方向margin的父子盒子,上下边距会重叠
计算BFC高度时,浮动元素也参与计算
是一个独立的渲染容器,容器中的子元素不会影响外面的元素
每个元素的左边,与容器的左边互相接触
创建BFC的方式:
根元素,或包含根元素的元素
浮动元素,float属性不为none
overflow不为visible的元素(hidden,scroll,auto)
position为absolute或fixed
display为inline-block, table-cell, table-caption, flex, inline-flex
BFC的应用:
1.兄弟元素以及父子元素边距重叠
给子元素设置上下边距50px,会发现父元素也同样有了上边距50px,并且兄弟元素上下间距并不是100,而是50px;
给父元素设置:overflow:hidden;给兄弟元素开启BFC:
给父元素设置:overflow:hidden;给兄弟元素开启BFC:
2.浮动元素使盒子塌陷,给父盒子开启BFC