Open Twlig opened 2 years ago
当元素在页面上垂直或水平排布时,它们之间如何相互影响,CSS有几套不同的规则,其中一套叫块级格式化上下文(Block Formatting Context)。
BFC是一个独立的布局环境,其中的元素布局是不受外界的影响,并且在一个BFC中,块盒与行盒(行盒由一行中所有的内联元素所组成)都会垂直的沿着其父元素的边框排列。
满足以下条件之一就是BFC元素:
BFC其实就是一个在html布局环境下,新开辟的类html元素独立布局空间,可以大致理解为BFC元素内部布局不会影响外界。
解决父子margin共享问题
给父元素设置BFC属性就可以解决父子元素margin共享。
浮动高度塌陷问题
常见的方式是为父元素设置overflow:hidden或者浮动父元素。根本原因在于创建BFC的元素,子浮动元素也会参与其高度计算。
1.BFC
当元素在页面上垂直或水平排布时,它们之间如何相互影响,CSS有几套不同的规则,其中一套叫块级格式化上下文(Block Formatting Context)。
2.创建BFC
满足以下条件之一就是BFC元素:
3.BFC的特性
BFC其实就是一个在html布局环境下,新开辟的类html元素独立布局空间,可以大致理解为BFC元素内部布局不会影响外界。
对触发条件的理解:
对于特性的理解:
4.BFC的作用
解决父子margin共享问题
给父元素设置BFC属性就可以解决父子元素margin共享。
浮动高度塌陷问题
常见的方式是为父元素设置overflow:hidden或者浮动父元素。根本原因在于创建BFC的元素,子浮动元素也会参与其高度计算。