Q4
★ ★ ★ ★ ★
BFC 是什么?触发条件和应用场景?
⚡ 速记答案(30 秒)
BFC = 块级格式化上下文,一个独立布局环境。触发方式:float、position: absolute/fixed、display: inline-block/flow-root、overflow 非 visible。用途:清除浮动、阻止外边距折叠、两栏自适应布局。
📖 详细讲解
标准面试回答(推荐记住)
BFC 是块级格式化上下文,可以理解为一个独立的布局环境,里面的布局不会影响外面,外面也不会影响里面。触发 BFC 的方式有很多:float 不为 none、position 为 absolute 或 fixed、display 为 inline-block、table-cell 或 flow-root、overflow 不为 visible。BFC 的应用场景主要有三个:一是清除浮动,让父元素包裹浮动子元素;二是阻止外边距折叠;三是实现两栏自适应布局。
BFC 触发条件
float: left/rightposition: absolute/fixeddisplay: inline-block/table-cell/flow-rootoverflow: hidden/auto/scroll- 根元素
<html>
应用场景
1. 清除浮动(父元素高度塌陷)
.parent {
overflow: hidden; /* 触发 BFC */
}
2. 阻止外边距折叠
.wrapper {
overflow: hidden; /* 触发 BFC */
}
3. 两栏自适应布局
.left { float: left; width: 200px; }
.right { overflow: hidden; } /* BFC 不与 float 重叠 */
✅ 面试要点
- •理解 BFC 是独立布局环境
- •掌握常见触发方式
- •知道三种应用场景
💻 代码示例
BFC 清除浮动
🎨 效果预览