简单来说就是,BFC
是一个完全独立的空间(布局环境),让空间里的子元素不会影响到外面的布局。那么怎么使用BFC
呢,BFC
可以看做是一个CSS
元素属性
## 怎样触发BFC
这里简单列举几个触发`BFC`使用的`CSS`属性:
根元素 html
overflow: hidden
display: inline-block
display: flex
position: absolute
position: fixed
BFC的规则
`BFC`就是一个块级元素,块级元素会在垂直方向一个接一个的排列
`BFC`就是页面中的一个隔离的独立容器,容器里的标签不会影响到外部标签
垂直方向的距离由margin决定, 属于同一个`BFC`的两个相邻的标签外边距会发生重叠
每个盒子的 margin box 的左边,与包含块 border box 的左边相接触(对于从左往右的格式化,否则相反)。即使存在浮动也是如此
`BFC`的区域不会与float box重叠
计算`BFC`的高度时,浮动元素也参与计算
BFC解决了什么问题
1: Margin边距重叠
1: 高度塌陷
1: 两栏布局(防止文字环绕)