基本表格语法
GFM(GitHub Flavored Markdown)表格语法:用 | 分隔单元格,用 - 分隔表头与正文:
源码
| 语言 | 出现年份 | 主要用途 | | ------- | -------- | -------- | | Python | 1991 | AI / 数据科学 | | JavaScript | 1995 | Web 前端 | | Go | 2009 | 后端服务 | | Rust | 2015 | 系统编程 |
渲染效果
| 语言 | 出现年份 | 主要用途 |
|---|---|---|
| Python | 1991 | AI / 数据科学 |
| JavaScript | 1995 | Web 前端 |
| Go | 2009 | 后端服务 |
| Rust | 2015 | 系统编程 |
INFO表格是 GFM 扩展语法,CommonMark 不支持。在 GitHub、GitLab、VS Code 等环境中可以正常渲染,但在只支持 CommonMark 的环境中会显示为原始文本。
列对齐
在分隔行(---)中使用冒号控制对齐方式:
源码
| 左对齐 | 居中 | 右对齐 | | :------ | :-----: | ------: | | 左 | 中 | 右 | | 苹果 | 香蕉 | 橙子 |
渲染效果
| 左对齐 | 居中 | 右对齐 |
|---|---|---|
| 左 | 中 | 右 |
| 苹果 | 香蕉 | 橙子 |
| 语法 | 对齐方式 |
|---|---|
| :--- | 左对齐(默认) |
| :---: | 居中对齐 |
| ---: | 右对齐 |
| --- | 默认对齐(通常为左) |
表格中使用格式化
表格单元格内可以使用内联 Markdown 格式:
| 功能 | 状态 | 备注 | | ---------- | :---------------: | ----------------- | | 登录 | ✅ 已完成 | 支持 OAuth | | 注册 | 🚧 进行中 | **需要验证邮箱** | | 忘记密码 | ❌ 未开始 | `POST /api/reset` |
| 功能 | 状态 | 备注 |
|---|---|---|
| 登录 | ✅ 已完成 | 支持 OAuth |
| 注册 | 🚧 进行中 | 需要验证邮箱 |
| 忘记密码 | ❌ 未开始 | POST /api/reset |
表格格式化技巧
不需要对齐管道符
管道符不需要严格对齐,但对齐后可读性更好:
# 不对齐(有效) | 名称 | 年龄 | 城市 | |---|---|---| | 张三 | 25 | 北京 | # 对齐(更可读) | 名称 | 年龄 | 城市 | | ---- | ---- | ---- | | 张三 | 25 | 北京 |
表格中的竖线
如果单元格内容包含 |,需要转义:
| 表达式 | 含义 | | ---------- | -------------- | | `a \| b` | 逻辑或 | | `a && b` | 逻辑与 |
表格工具
手动对齐表格列比较繁琐,推荐使用工具:
| 工具 | 说明 |
|---|---|
| VS Code: Markdown All in One | Alt+Shift+F 格式化表格 |
| Tables Generator | 在线生成 Markdown 表格 |
| Prettier | 自动格式化 Markdown(含表格) |
复杂表格的替代方案
原生 Markdown 表格不支持合并单元格、跨列/行。遇到复杂需求时:
TIP对于需要合并单元格或复杂布局的表格,直接使用 HTML
<table> 标签。Markdown 中可以直接内嵌 HTML,在大多数渲染器中都能正常显示。
<table>
<thead>
<tr><th colspan="2">合并列标题</th></tr>
</thead>
<tbody>
<tr>
<td rowspan="2">合并行</td>
<td>内容1</td>
</tr>
<tr><td>内容2</td></tr>
</tbody>
</table>
小结
- GFM 表格用
|分隔列,第二行---分隔表头 - 冒号控制对齐:
:---(左)、:---:(中)、---:(右) - 单元格内可使用加粗、斜体、代码等内联格式
- 复杂表格(合并单元格)需使用 HTML
<table> - VS Code + Markdown All in One 插件可自动格式化对齐表格