🏠 首页 攻略 "Markdown表格制作完全指南:从基础语法到复杂嵌套,一篇够用"

"Markdown表格制作完全指南:从基础语法到复杂嵌套,一篇够用"

Markdown表格不会做?本文从最基础的管道符语法开始,覆盖合并单元格技巧、嵌套表格、响应式适配、在线生成工具推荐,让你在任何平台都能打出漂亮的表格。

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 | ![](https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png) | 9.5 |
| GitLab | ![](https://gitlab.com/uploads/-/system/group/avatar/11903.png) | 8.8 |

注意:图片路径要用相对路径或绝对 URL,本地图片路径在不同渲染环境下可能失效。

在表格里放代码

| 语言 | 语法高亮 | 特点 |
|------|----------|------|
| Python | `print()` | 简洁易学 |
| Go | `fmt.Println()` | 编译快 |
| Rust | `println!()` | 内存安全 |

如果需要多行代码块,Markdown 表格不支持。建议拆成两行:
语言单行示例特点
Pythonprint()简洁
Gofmt.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简洁,写起来快
跨行/跨列合并HTMLMarkdown 原生不支持
复杂样式定制HTMLMarkdown 无法控制 CSS
嵌入纯文本文档Markdown可读性好

简单判断:如果表格不超过 5 列、没有合并单元格,优先用 Markdown。否则上 HTML。


七、快速参考卡片

把这张卡片收藏起来,以后写表格直接查:

# 基础模板
| 列1 | 列2 | 列3 |
|-----|-----|-----|
| 内容 | 内容 | 内容 |

# 带对齐
| 左对齐 | 居中 | 右对齐 |
| :----- | :--: | -----: |
| A      |  B   |    C   |

# 转义管道符
| 内容 | 说明 |
|------|------|
| A \| B | 管道符 |

写在最后

Markdown 表格看起来简单,但真要写出好看的表格,还是有讲究的。

对齐方式选对了,表格看起来就专业。列名精简了,表格就不会变形。知道什么时候该切 HTML,就能解决所有复杂场景。

下次写文档遇到表格,试试从左对齐改成居中对齐,视觉效果可能比你想象的更好。


你的文档里最常用的表格类型是什么?数据对比?功能清单?还是参数说明?