我对BFC的理解
时间:2020-12-18 12:53:04
收藏:0
阅读:3
什么是BFC?
BFC的中文名称是块级格式上下文,Block Formatting Context的简称,可以把BFC看作元素的一种属性,当元素拥有了BFC这个属性时这个元素就可以看作是独立了的独立容器,容器里面的元素不会在布局上影响到外面的元素。在一个块格式化上下文中,盒在竖直方向一个接一个地放置,从包含块的顶部开始。
BFC的生成
CSS2.1中规定满足下列CSS声明之一的元素便会生成BFC。
- 根元素
- float的值不为none
- overflow的值不为visible
- display的值为inline-block、table-cell、table-caption
- position的值为absolute或fixed
有文章中把display:table也认为可以生成BFC,其实这里的主要原因在于Table会默认生成一个匿名的table-cell,正是这个匿名的table-ccell生成了BFC
BFC能解决什么问题
1、解决浮动元素令父元素高度坍塌的问题
给父元素overflow:hidden触发BFC即可
2、避免外边距(margin)重叠
给两个元素或其中一个触发BFC
3、阻止元素被浮动元素覆盖
给不想被覆盖的元素添加overflow:hidden触发BFC
评论(0)