text-align: center 对 无效主因是其默认行内特性被嵌套块元素或 flex/grid 父容器干扰;vertical-align 仅对行内级元素生效;最优解是用 flex 或 grid 布局实现真正居中。

为什么 text-align: center 不管用?
你给 但只要 最稳的方式是把 然后在 HTML 中: 实现 Markdown↔ HTML 互转,支持导出 PDF,用于用户请求的文档格式转换。 当单元格里不止一个 真正容易被忽略的点是:居中效果是否依赖单元格高度。如果 加了 text-align: center,但里面的 还是左偏——大概率是因为 默认是行内元素,而它内部如果嵌套了 或设置了 display: block,就会破坏行内对齐流。更常见的是:父 没有明确高度,或 外层被 flex/grid 容器包裹却没设对齐属性。
vertical-align: middle 对 本身无效vertical-align 只对行内级(inline、inline-block)或表格单元格(table-cell)生效,不能直接作用于块级 。如果你的 是默认行内行为,可以试试: 的 display 是 table-cell(默认就是)
加 vertical-align: middle
加 display: inline-block 和 vertical-align: middle,避免基线错位 里混了 ,就容易因浏览器默认 baseline 对齐而“看起来没居中”——这不是 bug,是规范行为。用 Flex 布局真正可控地居中
变成 flex 容器: .centered-label-cell {
display: flex;
align-items: center;
justify-content: center;
}
<td class="centered-label-cell">
<label for="status">启用</label>
</td>
是行内还是块级,flex 会统一处理 后面还跟 ,也一起包进来,align-items: center 会同时垂直对齐两者vertical-align + line-height 匹配方案Grid 方案适合复杂内容或响应式场景
,或要同时控制水平/垂直/间距时,CSS Grid 更清晰:.grid-label-cell {
display: grid;
place-items: center;
}
place-items: center 等价于 justify-items: center; align-items: center
高度由内容撑开,又没设 min-height,小屏下可能“看起来没居中”——因为视觉上顶部留白太多。建议始终配合 min-height 或 height 使用,再加 box-sizing: border-box 避免 padding 影响计算。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










