markdown tables gfm reference

Markdown 表:GFM 表语法完整指南

关于 Markdown 表格的一切 — GFM 语法、列对齐、复杂表格、渲染怪癖以及如何从 Word 文档创建它们。

W
WordToMD 团队
·

Markdown 表格可让您以可读格式显示结构化数据,并呈现为 HTML 表格。本指南涵盖了完整的 GFM(GitHub Flavored Markdown)表语法、对齐选项、高级模式以及如何将 Word 表格转换为 Markdown。

基本表语法

Markdown 表由三个部分组成:

  1. 标题行 — 列名称
  2. 分隔行 — 带管道的破折号,定义表格
  3. 数据行 — 内容
| Column 1 | Column 2 | Column 3 |
|---|---|---|
| Row 1, Col 1 | Row 1, Col 2 | Row 1, Col 3 |
| Row 2, Col 1 | Row 2, Col 2 | Row 2, Col 3 |

呈现为:

第 1 栏第 2 栏第 3 栏
第 1 行,第 1 列第 1 行,第 2 栏第 1 行,第 3 栏
第 2 行,第 1 栏第 2 行,第 2 栏第 2 行,第 3 栏

列对齐

在分隔行中使用冒号来控制对齐:

| Left aligned | Center aligned | Right aligned |
|:---|:---:|---:|
| text | text | text |
| longer text | longer text | longer text |
左对齐中心对齐右对齐
texttexttext
更长的文本更长的文本更长的文本
  • :--- — 左对齐(默认)
  • :---: — 中心对齐
  • ---: — 右对齐

表格单元格内的格式设置

大多数内联 Markdown 格式都在表格单元格内工作:

| Element | Example |
|---|---|
| Bold | **bold text** |
| Italic | *italic text* |
| Code | `inline code` |
| Link | [click here](https://wordtomd.org) |
| Strikethrough | ~~deleted~~ |

什么不起作用:多行内容、嵌套列表、块级元素。

单元格中的管道字符

如果您需要文字管道 | 在单元格内,用反斜杠转义:

| Flag | Description |
|---|---|
| `x \| y` | Bitwise OR operator |

无间距表格

管道周围的间距是可选的。这是有效的:

|Column 1|Column 2|
|---|---|
|Cell|Cell|

但一致的间距使表格更具可读性。大多数编辑器和 linter 更喜欢间隔格式。

空单元格

将管道之间的空间留空以放置空单元格:

| A | B | C |
|---|---|---|
| content | | content |
| | content | |

将 Word 表格转换为 Markdown

Word表在您使用时自动转换 WordToMD. The converter handles:

  • 标准网格 → GFM 管道表
  • 列宽 → 标准化(Markdown 不控制列宽)
  • 单元格内的文本格式 → 保留(粗体、斜体、链接)

不转换的内容:

  • 合并单元格 (colspan/rowspan) — 折叠到最近的单元格
  • 多行单元格内容 — 去除换行符
  • 嵌套表 — 内部表展平

处理复杂的词表

合并单元格

Word 的合并单元格没有 Markdown 等效项。选项:

  1. 重组 — 将合并的行拆分为单独的表
  2. 使用 HTML — 大多数 Markdown 处理器接受 HTML 表格语法:
<table>
  <tr>
    <th colspan="2">Merged Header</th>
  </tr>
  <tr>
    <td>Cell 1</td>
    <td>Cell 2</td>
  </tr>
</table>

多行单元格内容

使用 <br> 用于单元格内的换行符(适用于 GitHub 和大多数平台):

| Step | Description |
|---|---|
| 1 | Open the file<br>Make sure it's .docx format |
| 2 | Drop it on [WordToMD](/#converter) |

大桌子

对于包含许多列的表格,请考虑表格的格式是否正确。替代方案:

  • 定义列表(术语 + 描述)
  • 按类别划分的多个较小的表格
  • 结构化数据的代码块(JSON、YAML)

按平台的表格渲染

平台GFM 表对齐HTML 表格
GitHub✅✅✅
GitLab✅✅✅
Notion✅❌❌
Obsidian✅✅✅
GitBook✅✅✅
VS 代码预览✅✅✅
Confluence(Markdown 宏)✅✅✅
杰基尔/雨果/阿斯特罗✅✅✅

辅助功能

为了更好的可访问性,请确保表的标题行具有有意义的列名称。屏幕阅读器使用标题行来宣布单元格上下文。

| Product | Price | Availability |
|---|---|---|
| Widget A | $9.99 | In stock |
| Widget B | $14.99 | Out of stock |

避免将表格用于布局目的 - 仅将它们用于实际的表格数据。

FAQ

为什么我的表格没有呈现 - 它显示为纯文本? 分隔行( |---|---| 行)是强制性的。没有它,解析器将无法识别表结构。

我可以有一个没有标题行的表格吗? 不在标准 GFM 中。标题行和分隔符是必需的。如果您不想要可见的标题,请使用空白标题: | | | 带有分隔行。 具有高分辨率图像的

为什么我的 Word 表格在 WordToMD 中看起来正确,但在将它们粘贴到其他地方后却显示错误? 问题通常是单元格中的尾随空格或不一致的管道字符。大多数 Markdown 渲染器都很宽松,但复制粘贴可能会引入不可见的字符。

如何以编程方式从数据创建表? 类似的库 markdown-table (npm) 或 Python 的 tabulate 可以从数组生成 Markdown 表。这对于批量转换 CSV 或数据库数据非常有用。

结论

Markdown 表格对于显示结构化数据非常强大,并且在所有主要平台上得到广泛支持。对于以 Word 开头的表格, WordToMD 自动将它们转换为 GFM 语法。对于复杂的布局,HTML 回退和上面的技巧可以为您提供所需的控制。