BFC是什么、怎么用?
1.在解释 BFC 是什么之前,需要先介绍 Box、Formatting(格式化) Context(上下文)==块级格式化上下文 的概念。
bfc就是块级格式化上下文,他是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。
block-level box 按照垂直方向排列
bfc布局原则:
1、内部的Box会在垂直方向,一个接一个地放置。
2、Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生重叠
3、每个元素的margin box的左边, 与包含块border box的左边相接触
4、BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。
5、BFC的区域不会与float box重叠。
6、计算BFC的高度时,浮动元素也参与计算
哪些元素会触发BFC?
- 根元素 HTML
- float属性不为none ; left&&right
- position为absolute或fixed
- display为inline-block, flex
- overflow不为visible; auto hidden scroll