vertical-align: middle 仅对 或 生效,因它只作用于行内盒;单元格需足够高度(用 padding 而非 height)、避免嵌套块级元素,否则须改用 flex 布局。

不是属性写错了,而是它对齐的“参考高度”被忽略了: 这是最轻量、兼容性最好的方案,适用于大多数传统表格: 当 这个 HTML 属性已被 HTML5 废弃,现代项目中应彻底禁用: 真正容易被忽略的是:垂直居中效果是否“可见”,取决于单元格是否有足够可用高度空间——不是靠硬设 vertical-align: middle 必须作用在 或 上才有效,写在 或
上完全没反应。 为什么
vertical-align: middle 看似不生效 没有显式高度,又只有一行短文本时,内容撑开的高度太小, middle 和默认 baseline 视觉上几乎一样
等块级元素 —— vertical-align 对它们无效,只管单元格自身的“行内盒”
line-height: 1 但没同步调高容器高度,导致文字被压扁,居中感消失border-collapse: collapse,边框重叠后视觉边界模糊,误判单元格实际范围纯文本场景:用
text-align + vertical-align 组合
text-align: center(水平) + vertical-align: middle(垂直) 或 ,不能是 或
height,改用 padding: 8px 12px 提供稳定对齐空间,更健壮table td, table th { text-align: center; vertical-align: middle; }
含图片/按钮/多行内容:改用
display: flex
里塞了 、 或多个
,vertical-align 就力不从心了: 加 display: flex; align-items: center; justify-content: center;
height,用 min-height: 40px 更安全,适配响应式margin(比如 的上下边距),否则会撑开错位别再用
valign="middle"
display: flex 或 grid,valign 立即失效vertical-align: middle,或升级为 Flex/Grid 布局height,而是靠 padding 或内容自然撑开;一旦里面嵌了块级元素,vertical-align 就自动退场,这时候必须切到 Flex 模式,没有中间路线。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











