盒子模型由content、padding、border和margin组成:content显示内容,由width/height决定;padding是内容与边框间的内边距,背景色可延伸至此;border是元素的边框,影响外观和尺寸;margin是边框外的空白,控制元素间距离且支持负值与合并。默认box-sizing为content-box,推荐设为border-box以简化尺寸计算。

在css中,content、padding、border 和 margin 共同构成了盒子模型(Box Model),它们决定了元素在页面中的实际大小和间距。下面分别说明它们的区别和作用。
1. Content(内容区域)
这是盒子模型最核心的部分,指的是元素实际显示内容的区域,比如文字、图片等。它的大小由 width 和 height 属性决定。如果未设置宽高,内容区域会根据内容自动调整。
- 内容区域背景颜色或背景图会在此区域显示
- overflow 属性控制内容超出时是否被裁剪或出现滚动条
2. Padding(内边距)
padding 是内容区域与边框之间的空间,用于增加内容周围的空白,让内容不紧贴边框。它属于元素内部的一部分,背景色会延伸到 padding 区域。
- 可以分别设置上、右、下、左:padding-top, padding-right 等
- 也可以用简写:padding: 10px; 或 padding: 5px 10px;
- padding 会影响元素的总宽度和高度(除非 box-sizing 设置为 border-box)
3. Border(边框)
border 是围绕 padding 和内容的一条边界线,可以设置边框的样式、宽度和颜色。它是元素可见结构的一部分。
立即学习“前端免费学习笔记(深入)”;
- 常见样式:solid(实线)、dashed(虚线)、none(无边框)
- 通过 border: 1px solid #000; 设置统一边框
- 边框也会增加元素的整体尺寸
4. Margin(外边距)
margin 是元素边框之外的空白区域,用于控制元素与其他元素之间的距离。它不属于元素本身,不会显示背景色或边框。
- 常用于布局中控制元素间的间隔
- 支持负值,可以实现元素重叠效果
- 垂直方向上的 margin 可能会发生“合并”(margin collapse)
- margin 不影响元素自身的背景,只影响外部空间
基本上就这些。理解这四个部分的关系,有助于准确控制网页布局和元素间距。盒子模型默认是 content-box,推荐使用 box-sizing: border-box 来更直观地控制元素尺寸。


