什么是BFC:
块格式化上下文(Block Formatting Context,BFC) 是Web页面的可视化CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域
创建BFC的方式:
图:创建BUF的方式
BFC的作用:
①. BFC 元素和 BFC 元素不会叠加在一起
②. BFC 元素的子元素如果是 BFC 元素,那么 BFC 元素是会包住 float 元素的
③. 一个包含BFC元素的元素,将会与同级元素发生外边距叠加(普通元素发生的是外边距塌陷)
验证BFC的作用:
①. 两个在同一行对的元素,如果均使用 float:left 声明,它们之间并不会发生叠加
②. 这个很好理解,因为很多消除浮动的方法均使用了该特性,比如元素声明 overflow:hidden可以消除该元素内部的元素浮动
③. 验证代码如下:
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title>Complex flexbox example</title>
6 <style>
7 .first {
8 margin-bottom: 30px;
9 border: black solid 1px;
10 }
11 .second {
12 margin-top: 30px;
13 border: black solid 1px;
14 }
15 .parent {
16 overflow: hidden;
17 }
18 </style>
19 </head>
20 <body>
21 <div class="box">
22 <div class="first">
23 hello
24 </div>
25 <div class="parent">
26 <div class="second">
27 world
28 </div>
29 </div>
30 </div>
31 </body>
32 </html>
图:运行结果
参考链接:
1. MDN网址:https://developer.mozilla.org/zh-CN/docs/Web/Guide/CSS/Block_formatting_context