内边距
内边距(Padding)是CSS盒模型中内容区域与边框之间的空间。它用于控制元素内容与边框之间的距离,使内容不紧贴边框,提高可读性。
padding属性
padding属性用于设置元素的内边距,可以同时设置上下左右四个方向的内边距。
语法
css
/* 简写形式 */
padding: <length> | <percentage>;
/* 分别设置四个方向 */
padding-top: <length> | <percentage>;
padding-right: <length> | <percentage>;
padding-bottom: <length> | <percentage>;
padding-left: <length> | <percentage>;
值
<length>:使用长度值指定内边距,如px、em、rem、cm等。<percentage>:相对于父元素内容区域宽度的百分比。
简写方式
padding属性支持多种简写方式:
- 单一值:
padding: 10px;- 上下左右内边距均为10px - 两个值:
padding: 10px 20px;- 上下内边距10px,左右内边距20px - 三个值:
padding: 10px 20px 30px;- 上内边距10px,左右内边距20px,下内边距30px - 四个值:
padding: 10px 20px 30px 40px;- 上10px,右20px,下30px,左40px(顺时针方向)
示例
css
/* 单一值 */
.box1 { padding: 10px; }
/* 两个值 */
.box2 { padding: 10px 20px; }
/* 三个值 */
.box3 { padding: 10px 20px 30px; }
/* 四个值 */
.box4 { padding: 10px 20px 30px 40px; }
/* 单个方向 */
.box5 { padding-top: 10px; }
.box6 { padding-right: 20px; }
.box7 { padding-bottom: 30px; }
.box8 { padding-left: 40px; }
百分比值的计算
当内边距使用百分比值时,无论上下左右,都相对于父元素的宽度进行计算:
css
.parent {
width: 400px;
height: 200px;
}
.child {
/* 上下内边距 = 400px × 5% = 20px */
/* 左右内边距 = 400px × 10% = 40px */
padding: 5% 10%;
}
行内元素的内边距
对于行内元素,内边距会影响元素的左右空间,但不会增加元素的上下行高。不过,上下内边距仍然会覆盖背景和边框。
css
span.highlight {
display: inline;
padding: 10px;
background-color: yellow;
border: 1px solid orange;
}
内边距与背景
内边距区域会显示元素的背景颜色或背景图片,这是内边距与外边距的重要区别之一(外边距是透明的)。
css
.box {
padding: 20px;
background-color: #f0f0f0;
background-image: url('pattern.png');
}
内边距与盒模型
在标准盒模型中,内边距会增加元素的总宽度和总高度。例如:
css
.box {
width: 200px;
height: 100px;
padding: 20px;
/* 总宽度 = 200px + 20px × 2 = 240px */
/* 总高度 = 100px + 20px × 2 = 140px */
}
使用box-sizing: border-box可以改变这种行为,使内边距包含在元素的宽度和高度内。
浏览器兼容性
所有现代浏览器都支持padding属性及其所有值。
| 浏览器 | Chrome | Firefox | Safari | Edge | IE |
|---|---|---|---|---|---|
| 支持情况 | 支持 | 支持 | 支持 | 支持 | 支持 |
最佳实践
- 使用相对单位:优先使用
em或rem等相对单位,使内边距与字体大小保持一致。 - 保持一致性:在整个网站中保持内边距的一致性,提高视觉统一性。
- 避免过度使用:过多的内边距会浪费空间,影响页面的信息密度。
- 考虑响应式设计:在小屏幕设备上适当减少内边距,提高内容的可见性。
小结
内边距是CSS盒模型的重要组成部分,用于控制元素内容与边框之间的空间。通过padding属性及其简写形式,可以灵活地设置元素四个方向的内边距。内边距会影响元素的总尺寸(在标准盒模型中),并且会显示元素的背景。合理使用内边距可以提高页面的可读性和美观度。
最后更新:2026-02-07