一、什么是 CSS 盒子模型
CSS 盒子模型将网页元素视为矩形盒子,由内到外包含内容(content)、内边距(padding)、边框(border)和外边距(margin),各部分共同决定元素的呈现效果和占据空间。
二、盒子模型的组成部分
1. 内容(content)
内容是盒子核心,包含文本、图片等媒体。内容区域大小由width和height属性控制,如:
div {
width: 200px;
height: 150px;
}

默认标准盒子模型下,width和height仅指定内容区域大小,不包括其他部分。
2. 内边距(padding)
内边距位于内容与边框之间,可通过padding - top、padding - right、padding - bottom、padding - left分别设置各方向内边距,也能用padding一次性设置,如:
div {
padding: 10px 15px;
}

这表示上下内边距 10 像素,左右 15 像素。内边距会增加盒子尺寸。
3. 边框(border)
边框围绕内容和内边距,有border - width(宽度)、border - style(样式)、border - color(颜色)三个主要属性,例如:
div {
border: 2px solid #000000;
}

边框宽度同样会增加盒子整体尺寸。
4. 外边距(margin)
外边距用于控制元素与周围元素的间距,有margin - top等四个方向属性,也可通过margin设置,如:
div {
margin: 20px 30px;
}

即上下外边距 20 像素,左右 30 像素。垂直方向相邻元素外边距可能合并,取较大值。
三、盒子模型的应用场景
1. 基本布局搭建
构建网页布局时,以多栏布局为例,每个栏可看作盒子。通过设置盒子的宽度、内边距等属性,能精确控制位置和空间,实现美观布局。
2. 元素间距控制
利用外边距可控制元素间距。比如图片列表中,设置img { margin: 5px; },图片间就会有 5 像素空白,使页面更清晰美观。
四、不同的盒子模型模式
CSS 有标准盒子模型(content - box)和怪异盒子模型(border - box)。标准模型中,width和height仅指内容区域大小;怪异模型里,width和height包含内容、内边距和边框。可通过box - sizing属性切换,如:
/* 使用标准盒子模型 */
.box {
box - sizing: content - box;
}
/* 使用怪异盒子模型 */
.box {
box - sizing: border - box;
}
怪异盒子模型在需固定容器总宽度时很有用,能简化布局计算。
CSS 盒子模型对前端开发者和网页设计师至关重要,合理运用能创建多样布局。随着技术发展,盒子模型将衍生更多特性,但作为基础的重要性不会改变。