BFC
块级格式化上下文 (Block Fromatting Context), 按照块级盒子布局的
布局规则:
1.内部的盒子会在垂直方向,一个个地放置;
2.BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。反之也如此;
2.盒子垂直方向的距离由margin决定,属于同一个BFC的两个相邻Box的上下margin会发生重叠;
3.每一个元素的左边,与包括的盒子的左边相接触,即使存在浮动也是如此;
4.BFC的区域不会与float重叠;
5.计算BFC的高度时,浮动元素也參与计算。
触发或创建BFC:
1.根元素。
2.float的属性不为none;
3.position为absolute或fixed;
4.display为inline-block、table-cell,table-caption、flex;
5.overflow不为visible
使用场景:
1、自适应两栏布局(左边固定宽度左浮动,右边overflow:hidden)(BFC的区域不会与float box重叠)
2、清除浮动 给父盒子添加overflow:hidden,让父盒子高度能被浮动元素撑起(计算BFC的高度时,浮动元素也参与计算)
3、防止垂直margin合并 (属于同一个BFC的两个相邻Box的margin会发生重叠)
<style type="text/css">
.box {
width: 100px;
height: 100px;
background: orange;
margin: 20px 0;
}
.container {
overflow: hidden;
}
</style>
<div class="box"></div>
<div class="container">
<div class="box"></div>
</div>