BFC - 块级格式上下文
1. 什么是BFC?
浮动元素和绝对定位元素,非块级盒子的块级容器,以及overflow值不为visible的块级盒子,都会为他们的内容创建新的BFC
2. 触发条件?
根元素
浮动元素
绝对定位元素
行内元素
表格单元格
overflow值不为visible的快元素
3.应用场景 / 可以解决哪些问题?
- 防止浮动导致父元素高度塌陷
<head>
<style>
.container { border: 10px solid red; }
.inner { background: #08BDEB; height: 100px; width: 100px; }
</style>
</head>
<body>
<div class="container">
<div class="inner"></div>
</div>
</body>
接下来将inner元素设为浮动,会产生父元素塌陷:
![]() 
  .inner {
    float: left;
    background: #08BDEB;
    height: 100px;
    width: 100px;
  }
对父元素设置BFC,即可解决:
.container { 
  border: 10px solid red; 
  overflow: hidden; 
}- 避免外边距折叠
两个块同一个BFC会造成外边距折叠,但如果对这两个块分别设置BFC,那么边距重叠的问题就不存在了
<style>
    .container {
      background-color: green;
      overflow: hidden;
    }
    .inner {
      background-color: lightblue;
      margin: 10px 0;
    }
  </style>
</head>
<body>
  <div class="container">
    <div class="inner">1</div>
    <div class="inner">2</div>
    <div class="inner">3</div>
  </div>
</body>
</html>
此时三个元素的上下间隔都是10px, 因为三个元素同属于一个BFC。 现在我们做如下操作:
  <div class="container">
    <div class="inner">1</div>
    <div class="bfc">
      <div class="inner">2</div>
    </div>
    <div class="inner">3</div>
  </div>
复制代码style增加:
.bfc{
    overflow: hidden;
} 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号