浮动带来的高度塌陷与BFC(块级格式化环境)
浮动带来的高度塌陷问题
1、在浮动布局中,父元素的高度默认是被子元素撑开的。
2、当子元素浮动后,其会完全脱离文档流,子元素从文档流中脱离,将会无法撑起
父元素的高度,导致父元素的高度丢失,
3、父元素高度丢失以后,其下的元素会自动上移,导致页面的布局混乱
因此浮动带来的高度塌陷是浮动布局中比较常见的一个问题,这个问题我们必须要进行处理
BFC(Block Formatting Context)块级格式化环境
1、BFC是一个CSS中的一个隐含的属性,可以为一个元素开启BFC
2、开启BFC该元素会变成一个独立的布局区域
元素开启BFC后的特点:
1、开启BFC的元素不会被浮动元素所覆盖
2、开启BFC的元素,子元素和父元素的外边距不会重叠
3、开启BFC的元素可以包含浮动的子元素
通过一些特殊方式开启元素的BFC
1、设置元素的浮动(不推荐,副作用大)
float:left;
2、将元素设置为行内块元素(不推荐,副作用大)
display:inline-block;
3、将元素的overflow设置为一个非visible(默认值)的值
overflow:hidden;
`常用的方式:为元素设置overflow:hidden开启其BFC以使其可以包含浮动元素`