默认盒模型下padding会增加盒子尺寸,因width仅指内容区;使用box-sizing: border-box可使padding不撑开盒子,推荐全局设置以提升布局可控性。
修改 padding 会影响盒子尺寸,根本原因在于你使用的 CSS盒模型 类型。默认情况下,浏览器使用的是 标准盒模型(content-box),在这种模型下,padding 会增加盒子的总尺寸。
在标准盒模型中,一个元素的 width 和 height 只表示内容区域(content)的大小。当你添加 padding、border 或 margin 时:
• padding 会向内扩展,占用额外空间例如:
.box {
width: 200px;
padding: 20px;
border: 5px solid black;
}
这个盒子在页面中实际占据的宽度是:200 + 20×2 + 5×2 = 250px。所以,增加 padding 直接导致整体变宽。
如果你希望 padding 不影响盒子的总尺寸,可以使用:
• box-sizing: border-box —— 让 width 和 height 包含 content、padding 和 border
推荐在全局重置样式中使用:
* {
box-sizing: border-box;
}
这样更符合视觉设计预期,避免布局错位。
基本上就这些。掌握 box-sizing 的作用,就能灵活控制 padding 是否撑开盒子。不复杂但容易忽略。