Markdown 表格怎么写?对齐、转义与转 HTML

一、最通用的写法:管道表格

Markdown 表格由三部分组成:表头行、分隔行、数据行,只用竖线、连字符和冒号:

| 项目 | 数量 | 单价 |
| ---- | ---- | ---- |
| 苹果 | 3    | 5.2  |
| 香蕉 | 12   | 1    |

这套「管道表格」语法是兼容性最好的写法:GitHub、GitLab、Typora、Obsidian、VS Code 预览都原生支持,不依赖任何扩展。

分隔行绝对不能省。它是 Markdown 判定「这一段是表格」的唯一依据,没有它,整段会被当作普通段落渲染。有些编辑器允许手写紧凑版(|-|-|),但自动生成时保留完整分隔行最稳妥。

二、对齐:冒号写在哪边就是哪边

分隔行里的冒号决定整列的对齐方式:

写法对齐
:---左对齐
:---:居中
---:右对齐
----默认(左对齐)

实测生成(数量列居中、单价列右对齐):

| 项目 | 数量 | 单价 |
| :--- | :--: | ---: |
| 苹果 |  3   |  5.2 |
| 香蕉 |  12  |    1 |

注意数据行里的空格填充12 比单个 3 宽一格,工具会自动补空格让每列对齐——这就是「源码里也整齐」的关键。

三、中文对齐为什么总是歪的

对齐宽度按显示宽度计算:中文字符占 2 个英文字符的宽度。工具按这个规则算列宽(实测「中文a」的显示宽度是 5,而不是字符数 3)。

但多数编辑器用的字体不是等宽字体,或者对 CJK 宽度的处理与工具不一致,所以你在编辑器里看到的对齐可能仍然歪。渲染后的表格永远是对的,源码对齐只是为了让源码可读。

四、单元格里有竖线怎么办

竖线是列分隔符,内容里出现它必须转义:

| 用法 | 说明 |
| ---- | ---- |
| 或 | 写成 \| |

工具会自动把竖线转义成 \|;反过来解析已有表格时也会把 \| 还原成竖线——所以「生成 → 再解析」能拿回原始内容,不会丢数据。

五、从 Excel 粘贴:制表符就是现成的分隔符

从 Excel 复制的单元格之间是制表符(Tab),直接粘进来就是一张 TSV 表:

项目	数量	单价
苹果	3	5.2
香蕉	12	1

工具按 Tab 切列,一键生成上面的 Markdown 表格。多列数据比手写竖线快得多,这是表格生成器最高频的使用场景。

反向也有用:把别人 Markdown 里的表格解析回结构化数据(表头、行、对齐方式),就能再导出成 CSV 或重新排版。

六、转成 HTML

转 HTML 后表格会带上对齐样式:

<table><thead><tr><th>项目</th><th style="text-align:center">数量</th>
<th style="text-align:right">单价</th></tr></thead><tbody>…</tbody></table>

其他语法一并转换:加粗<strong>、` code <code>、列表 → <ul><li>`。

安全性是内建的:转换前先把所有输入整体转义(<&lt;),再按白名单生成标签。所以 <script>alert(1)</script> 粘进去只会显示成文字,不会被当成脚本;点我) 这类危险协议链接不会生成 <a> 标签,而是原样显示成文字。

另外统计一下文档结构(标题、链接、图片、代码块、表格行数)在批量整理文档时很有用——数一遍就知道文档里有多少资源要检查。

七、直接算

Markdown 表格生成器:Excel 粘贴成表、对齐、竖线转义与反向解析

Markdown 转 HTML:白名单转换,XSS 安全

文本处理工具:粘贴前的批量整理

本站文章为个人使用经验的原创整理,除已注明来源的引用外均为本人撰写。文中涉及的软件名称、商标、截图等归各自权利人所有,引用仅用于说明与交流。如认为本站内容侵犯了你的合法权益,请通过「关于本站」页面的联系方式告知,核实后将及时更正或删除。