Skip to content

CSS padding(填充)

padding(内边距 / 填充) 是元素内容区与边框之间的空白区域,在盒子模型里位于 border 内侧。设置 padding 可以让内容不贴边,阅读和点击区域更舒适。

基本用法

css
.box {
  padding: 20px;                /* 四边都是 20px */
  padding: 10px 20px;           /* 上下 10px,左右 20px */
  padding: 10px 20px 30px;      /* 上 左右 下 */
  padding: 10px 20px 30px 40px; /* 上 右 下 左(顺时针) */
}

单边padding-toppadding-rightpadding-bottompadding-left


常用值

  • 长度10px1em1rem
  • 百分比:相对于父元素的宽度计算(四边都是),与 margin 一样
  • 0:无内边距

注意:padding 不能为负值,也没有 auto


与 width、box-sizing 的关系

标准盒模型(content-box)下,你设置的 width 只表示内容区宽度,padding 会加在外面,元素总占位会变宽。例如:

css
.box {
  width: 200px;
  padding: 20px;
}

总宽度 = 200 + 20×2 = 240px。

若使用 box-sizing: border-box,则 width 已包含 padding,总宽度就是 200px,内容区会变小。


何时用 padding,何时用 margin?

  • padding:元素内部留白,背景色和边框会包含 padding;点击区域也包含 padding。适合按钮、卡片内部留白。
  • margin:元素与其它元素之间的间距,背景和边框不包含 margin。适合控制段落间距、模块之间的空隙。

简单记:里用 padding,外用 margin


小结

  • padding 是内容与边框之间的空白,在 border 内侧。
  • 简写顺序:上 右 下 左;可为 px、em、rem、%,不能为负。
  • 标准盒模型下 padding 会加大元素总占位;border-box 下 width 已含 padding。
  • 内部留白用 padding,元素之间间距用 margin。

下一节学习 CSS 分组和嵌套:如何组织多条规则、减少重复。