统一使用 border-box 可消除浏览器盒模型差异,使 padding 和 border 包含在 width/height 内;需通过 *, *::before, *::after { box-sizing: border-box; } 全局重置,并注意表单控件、第三方库及内联元素的兼容性。
直接将所有元素的盒模型设为 border-box,就能让 padding 和 border 不再撑大元素尺寸,大幅减少跨浏览器差异。
传统盒模型(content-box)下,width/height 仅指内容区大小,而 padding、border 会额外增加总宽高。早期 IE 的怪异模式默认用 border-box,Chrome/Firefox 默认 content-box,导致相同 CSS 在不同浏览器渲染出不同尺寸。

在 CSS 开头加上这段重置规则,覆盖所有常见元素:
*, *::before, *::after {
box-sizing: border-box;
}这样所有元素(包括伪元素)都按 border-box 计算尺寸,padding 和 border 会被包含在 width/height 内,行为完全一致。
box-sizing: border-box
box-sizing 统一后,配合相对单位(如 rem、vw)定义宽高和间距,能进一步削弱设备像素比、缩放、字体设置带来的影响。例如:
.card {
width: 20rem; /* 固定逻辑宽度 */
padding: 1rem; /* 内边距不撑开总宽 */
border: 0.125rem solid #ccc;
}此时 card 总宽度恒为 20rem,无需手动减去 padding 和 border。