box-sizing 属性决定 width 是否包含 padding 和 border:content-box 时 width 仅指内容区,总宽度需加上 padding 和 border;border-box 时 width 包含三者,内容区自动调整。推荐全局设置 * { box-sizing: border-box } 以提升布局控制精度,避免意外溢出。
在CSS盒模型中,元素的总宽度不仅由内容区域(content)决定,还包括内边距(padding)、边框(border)和外边距(margin)。控制内容区域大小的关键在于理解 box-sizing 属性的作用,以及 width、padding 和 border 之间的关系。
div {
width: 200px;
padding: 20px;
border: 5px solid #000;
}该 div 的实际占用宽度为:div {
box-sizing: border-box;
width: 200px;
padding: 20px;
border: 5px solid #000;
}此时:
容区域宽度 = 200 - 40 - 10 = 150px
* {
box-sizing: border-box;
}这样所有元素都采用 border-box 模型,避免因 padding 或 border 导致溢出容器的问题。之后你可以更直观地设定元素尺寸,无需手动计算额外空间。