vertical-align用于控制inline或inline-block元素的垂直对齐,常见取值有baseline、top、middle等,适用于图片与文本对齐、表单布局等场景,需注意其仅对行内元素有效且受line-height影响。

在CSS中,vertical-align 属性用于控制 inline、inline-block 或表格单元格内容的垂直对齐方式。它常用于让行内元素(如图片、表单控件、文本)在一行中上下对齐。
理解 vertical-align 的作用范围
注意:vertical-align 只对 inline、inline-block 和 table-cell 元素有效,不能用来垂直居中块级容器中的内容。
常见使用场景包括:
- 调整图片与文字的对齐
- 让多个 inline-block 元素在行内对齐
- 表单元素与标签文本对齐
常用取值说明
以下是 vertical-align 常用的关键字值及其效果:
立即学习“前端免费学习笔记(深入)”;
- baseline:默认值,元素的基线与父元素的基线对齐
- top:元素顶部与行框的顶部对齐
- middle:元素的中部与父元素的基线加上小写字母 x 的高度一半对齐
- bottom:元素底部与行框的底部对齐
- text-top:元素顶部与父元素字体的顶部对齐
- text-bottom:元素底部与父元素字体的底部对齐
- sub:将元素设置为下标,通常比 baseline 低
- super:将元素设置为上标,通常比 baseline 高
- 百分比或数值(如 5px, 50%):相对于 line-height 进行偏移
实际应用示例
假设你想让一张图片和一段文字垂直居中对齐:
@@##@@
文字内容
使用 vertical-align: middle 后,图片会和文字的中部大致对齐,视觉上更协调。
又比如多个 inline-block 元素希望顶部对齐:
.box {
display: inline-block;
vertical-align: top;
}
这样即使盒子高度不同,它们也会从顶部开始对齐,避免默认 baseline 对齐导致的错位。
常见问题与注意事项
很多人误以为 vertical-align 能像 flex 或 grid 那样垂直居中整个容器,但实际上它影响的是元素在当前行内的对齐位置。
关键点:
- 对 block 元素设置 vertical-align 无效
- line-height 会影响对齐效果,尤其是文本场景
- 空格和换行在 inline 元素间会产生间隙,可能干扰对齐
- 使用 vertical-align: middle 时,middle 是相对于字母 x 的中点,不是绝对中心










