Markdown表格制作完全指南
打开一个 Markdown 编辑器,想放个表格对比产品功能。
你盯着空白文档发了五分钟呆。
管道符 | 到底怎么对齐?表头下面那行 - 要不要对齐?中文内容太长了怎么办?
别慌。这篇文章从最基础的语法讲到高级技巧,看完你就能随手打出漂亮的表格。
一、Markdown 表格基础语法
Markdown 表格由三部分组成:表头行、分隔行、数据行。
最简单的表格
| 姓名 | 年龄 | 城市 |
|------|------|------|
| 张三 | 28 | 北京 |
| 李四 | 32 | 上海 |
| 王五 | 25 | 广州 |
渲染效果:
| 姓名 | 年龄 | 城市 |
|---|---|---|
| 张三 | 28 | 北京 |
| 李四 | 32 | 上海 |
| 王五 | 25 | 广州 |
就这么简单。三行搞定。
对齐方式
分隔行可以控制列的对齐方式:
| 左对齐 | 居中对齐 | 右对齐 |
| :----- | :------: | -----: |
| 内容 | 内容 | 内容 |
| 很长很长的内容 | 居中 | 123456 |
| 左对齐 | 居中对齐 | 右对齐 |
|---|---|---|
| 内容 | 内容 | 内容 |
| 很长很长的内容 | 居中 | 123456 |
三种对齐:
| 写法 | 效果 | 适用场景 |
|---|---|---|
:--- | 左对齐(默认) | 大多数文本内容 |
:---: | 居中对齐 | 数字、短文本 |
---: | 右对齐 | 金额、时间戳 |
经验法则:中文内容用左对齐,数字用右对齐,状态标签用居中对齐。
二、表格中的高级内容
在表格里放链接
| 工具 | 官网 | 价格 |
|------|------|------|
| [VS Code](https://code.visualstudio.com) | code.visualstudio.com | 免费 |
| [JetBrains](https://www.jetbrains.com) | jetbrains.com | 付费 |
渲染出来就是带链接的表格。
在表格里放图片
| 平台 | Logo | 评分 |
|------|------|------|
| GitHub |  | 9.5 |
| GitLab |  | 8.8 |
注意:图片路径要用相对路径或绝对 URL,本地图片路径在不同渲染环境下可能失效。
在表格里放代码
| 语言 | 语法高亮 | 特点 |
|------|----------|------|
| Python | `print()` | 简洁易学 |
| Go | `fmt.Println()` | 编译快 |
| Rust | `println!()` | 内存安全 |
如果需要多行代码块,Markdown 表格不支持。建议拆成两行:
| 语言 | 单行示例 | 特点 |
|---|---|---|
| Python | print() | 简洁 |
| Go | fmt.Println() | 快 |
转义管道符
如果你的内容本身包含 | 字符,需要用 HTML 实体编码:
| 内容 | 说明 |
|------|------|
| A \| B | 这是转义的管道符 |
| | | 这也是管道符 |
三、表格排版技巧
列宽控制
Markdown 标准语法没有列宽属性。但你可以通过填充空格来间接控制:
| 短 | 中等长度的列标题 | 非常非常非常长的列标题 |
|----|-----------------|------------------------|
| 1 | 内容 | 这里的内容很长很长 |
不过这种方式依赖渲染器的实现,不建议在生产环境中使用。更好的做法是:精简列名,让表格自然适应宽度。
超长内容的处理
当某列内容特别长时,有三种处理方式:
方式1:换行
| 功能 | 说明 |
|------|------|
| 导出 | 支持导出为 PDF、Excel、CSV 等多种格式,满足日常办公需求 |
方式2:缩写 + 链接
| 功能 | 说明 |
|------|------|
| 导出 | 支持 [PDF/Excel/CSV](/export-formats) 等格式 |
方式3:拆分表格
如果一列内容普遍很长,考虑拆成两个表格。表格不是越大越好。
空单元格的处理
| 姓名 | 电话 | 邮箱 |
|------|------|------|
| 张三 | 13800000000 | |
| 李四 | | li@example.com |
空单元格渲染出来是空白。如果需要显示占位符:
| 姓名 | 电话 | 邮箱 |
|------|------|------|
| 张三 | 13800000000 | — |
用 —(em dash)代替空白,视觉上更友好。
四、不同平台的兼容性问题
GitHub / GitLab
完美支持标准 Markdown 表格。对齐方式也有效。
微信公众号
不支持 Markdown 表格。 需要用 HTML <table> 标签或者截图插入。
<table>
<tr><th>姓名</th><th>年龄</th></tr>
<tr><td>张三</td><td>28</td></tr>
</table>
飞书 / 钉钉文档
飞书和钉钉的 Markdown 编辑器部分支持表格。基本语法没问题,但复杂嵌套可能渲染异常。
Notion
Notion 的 Markdown 粘贴会自动识别表格。粘贴 Markdown 表格后,Notion 会将其转换为内置数据库视图。
VS Code 预览
VS Code 的 Markdown 预览完美支持表格。配合插件 Markdown All in One,可以用快捷键快速插入和编辑表格。
五、在线 Markdown 表格生成工具
手写管道符确实麻烦。这里有几个好用的在线工具:
1. TablesGenerator(tablesgenerator.com)
界面直观,填表格自动生成 Markdown 代码。支持 CSV 导入导出。
2. MarkedTable(markedtable.com)
实时预览,左边填数据右边出 Markdown。支持自定义样式。
3. 本站的 Markdown 预览工具
如果你在我们站上写 Markdown,可以直接用 Markdown 预览工具 实时查看表格效果。
六、Markdown 表格 vs HTML 表格
什么时候用 Markdown,什么时候用 HTML?
| 场景 | 推荐 | 原因 |
|---|---|---|
| 简单数据展示 | Markdown | 简洁,写起来快 |
| 跨行/跨列合并 | HTML | Markdown 原生不支持 |
| 复杂样式定制 | HTML | Markdown 无法控制 CSS |
| 嵌入纯文本文档 | Markdown | 可读性好 |
简单判断:如果表格不超过 5 列、没有合并单元格,优先用 Markdown。否则上 HTML。
七、快速参考卡片
把这张卡片收藏起来,以后写表格直接查:
# 基础模板
| 列1 | 列2 | 列3 |
|-----|-----|-----|
| 内容 | 内容 | 内容 |
# 带对齐
| 左对齐 | 居中 | 右对齐 |
| :----- | :--: | -----: |
| A | B | C |
# 转义管道符
| 内容 | 说明 |
|------|------|
| A \| B | 管道符 |
写在最后
Markdown 表格看起来简单,但真要写出好看的表格,还是有讲究的。
对齐方式选对了,表格看起来就专业。列名精简了,表格就不会变形。知道什么时候该切 HTML,就能解决所有复杂场景。
下次写文档遇到表格,试试从左对齐改成居中对齐,视觉效果可能比你想象的更好。
你的文档里最常用的表格类型是什么?数据对比?功能清单?还是参数说明?