直接给或设置vertical-align: middle是最常用轻量的垂直居中方式,但需确保单元格保持display: table-cell且无样式干扰;失效时可加!important、设min-height或改用Flexbox/Grid方案。

直接给 <td> 或 <code><th> 设置 <code>vertical-align: middle 就能实现垂直居中,这是最常用也最轻量的方式。但实际效果是否生效,取决于单元格是否具备“表格单元格”的渲染上下文,以及是否有其他样式干扰。
用 vertical-align: middle 最简方案
这个属性专为表格单元格设计,天然适配 <td> 和 <code><th>:<ul>
<li>写在内联样式里:<code><td style="vertical-align: middle">内容</td>
.vcenter { vertical-align: middle; },再加到单元格上table td, table th { vertical-align: middle; }
注意:它只对 display: table-cell(即默认的 <td>)有效;如果单元格被改成 <code>block 或 flex,vertical-align 就失效了。
当 vertical-align 不起作用时怎么办
常见原因是框架样式覆盖、单元格高度太小,或内部嵌套了块级元素(比如 <div> 包着文字)。这时可以:<ul>
<li>加 <code>!important 强制生效:vertical-align: middle !important;
min-height 替代固定 height,避免内容撑开后对齐错位<tr> 是否设置了 <code>line-height,它可能意外影响对齐基准
用 Flexbox 精确控制单个单元格
适合内容结构复杂(如含按钮、图标、多行文本)或需要同时水平+垂直居中的场景:
- 把
<td> 设为 flex 容器:<code>display: flex; align-items: center; - 如需水平居中,再加
justify-content: center; - 推荐配合
min-height使用,避免小屏下挤压变形 -
display: grid; place-items: center;—— 同时搞定水平和垂直居中 - 比 Flexbox 更少依赖内部结构,即使单元格里放
<div><p>...</p></div>也能稳稳居中 - 兼容性已覆盖所有主流浏览器(Chrome 60+/Firefox 52+/Edge 16+)
优势是不受行高、字体大小影响,对齐逻辑清晰稳定。
用 CSS Grid 一步到位
现代写法,语义干净,适合响应式表格:
将 Markdown 文章转换为微信公众号兼容的纯 HTML 格式。当用户要求"转成微信格式"、"生成公众号文章 HTML"、"排版到微信草稿箱"、"微信粘贴格式"时触发。输出带内联样式的纯 HTML,微信编辑器可直接渲染,无需额外适配。支持标题、段落、列表、粗体、行内代码、表格、引用块、代码块、配图的完整转换。
不复杂但容易忽略:优先保证单元格有明确的尺寸上下文(比如设 min-height 或继承自 <tr> 的高度),否则 grid 容器可能收缩到内容高度,看不出居中效果。</tr>










