设置 box-sizing: border-box 可使元素宽度包含内容、内边距和边框;通过 .container { box-sizing: border-box; } 单独设置,或使用 ,::before,*::after { box-sizing: border-box; } 全局应用,使布局更直观稳定,避免因 padding 和 border 导致的溢出问题。

要让元素的 box-sizing 表现为 border-box,只需要使用 css 的 box-sizing 属性并将其值设为 border-box。这样设置后,元素的宽度和高度会包含内容、内边距(padding)和边框(border),更便于布局控制。
基本语法
给单个元素设置:
box-sizing: border-box;
示例:
.container { width: 200px; padding: 20px; border: 5px solid #ccc; box-sizing: border-box; }
此时,该元素的总宽度仍为 200px,padding 和 border 都会被“压缩”进这个宽度内,不会额外增加实际占据的空间。
立即学习“前端免费学习笔记(深入)”;
全局应用 border-box
推荐在项目中对所有元素统一设置,避免布局错乱:
*, *::before, *::after { box-sizing: border-box; }
这段代码使用通配符选择器,将页面中所有元素及其伪元素的盒模型都设为 border-box,是许多现代项目(如 bootstrap)的常见做法。
为什么使用 border-box?
- 宽度计算更直观:设置 width 时,实际宽度就是设定值,不会因 padding 或 border 而变宽。
- 布局更稳定:在栅格系统或弹性布局中,元素更容易对齐和填满容器。
- 减少意外溢出:避免因 padding 导致内容超出父容器。
基本上就这些,加一行 CSS 就能大幅提升布局可控性。不复杂但容易忽略。