1. 盒模型与 BFC
在 前端面试笔试题目 中,盒模型(Box Model)是基础中的基础。标准盒模型(W3C)中,width 和 height 仅包含 content;而 IE 盒模型中,width 和 height 包含 content、padding 和 border。面试官常要求手写代码实现 BFC(块级格式化上下文)以解决外边距塌陷或清除浮动问题。
如何触发 BFC?
- ⚡ 根元素或其他包含它的元素
- ⚡ float 的值不是 none
- ⚡ overflow 的值不是 visible
- ⚡ display 的值是 inline-block, table-cell, table-caption, flex, inline-flex
- ⚡ position 的值不是 static 或 relative
CSS 布局方案对比
| 布局方式 | 适用场景 | 兼容性 | 代码复杂度 |
|---|---|---|---|
| Float | 老式布局,文字环绕图片 | 极好 | 高(需清除浮动) |
| Flexbox | 一维布局,居中,自适应 | 良好 (IE10+) | 低 |
| Grid | 二维布局,复杂网格系统 | 一般 (IE11+) | 中 |
| Position | 绝对定位,固定定位,层叠 | 极好 | 中 |