BFC
全称:Block Formatting Context
, 名为 “块级格式化上下文”。
在一个Web页面的CSS渲染中,BFC
是按照块级盒子布局的。
简单来说就是,BFC
是一个完全独立的空间(布局环境),让空间里的子元素不会影响到外面的布局。
怎样触发BFC
则满足下列的任意一个或多个条件即可:
1、浮动元素,float 除 none 以外的值;
2、绝对定位元素,position(absolute,fixed);
3、display的值是inline-block、table-cell、flex、table-caption或者inline-flex
4、overflow 除了 visible 以外的值(hidden,auto,scroll);
5、body 根元素
BFC的特性
1、内部的Box会在垂直方向上一个接一个的放置。
2、垂直方向上的距离由margin决定
3、bfc的区域不会与float的元素区域重叠。
4、计算bfc的高度时,浮动元素也参与计算
5、bfc就是页面上的一个独立容器,容器里面的子元素不会影响外面元素。