BFC

80 阅读1分钟

什么是BFC

html元素分为普通流,浮动流,定位流。

普通流:行内元素在位置够的情况下左右排列,块状元素独占一行排列。

浮动流:元素按照普通流位置出现,然后根据设置浮动,会往左右移动。

绝对定位:元素会整体脱离普通流,绝对定位不会对其他兄弟元素造成影响。

BFC可以看作元素的一种属性,当元素拥有了BFC的属性时,这个元素就可以看作隔离了的独立容器,容器里的元素不会在布局上影响到外面的元素。

如何触发BFC:

1.根元素(html)

2.浮动元素(元素的float不是none)

3.绝对定位元素(元素的position为absolute或者fixed)

4.display为inline- block等

5.overflo不为visible的元素

BFC作用和特性

1.可以避免外边距margin重叠,例如给父元素设置overflow:hidden。

2.清除浮动,在父元素中添加overflow:hidden,可以解决子元素设置了浮动后脱离父元素的情况。

3.解决浮动元素把未浮动元素覆盖的问题,在未浮动的元素中添加 overflow:hidden解决,同时可以通过这种特性做自适应宽度等需求等。

截屏2023-02-16 下午7.08.59.png

截屏2023-02-16 下午7.10.16.png