本文目录
什么是 Markdown 表格?
Markdown 表格使用竖线(|)和连字符(-)在纯文本文档中创建结构化的表格数据。它们是 GitHub Flavored Markdown(GFM)的一部分,受到 GitHub、GitLab、VS Code 以及各类静态站点生成器等大多数 Markdown 渲染器的支持。
Markdown 表格专为简单的数据呈现而设计——包含列标题、分隔行和若干数据行。它们会在输出中渲染为标准的 HTML 表格,因此无需任何 HTML 知识,就非常适合编写文档、README 文件和技术文章。
Markdown 表格语法
一个 Markdown 表格由三部分组成:标题行、分隔行和一行或多行数据行。
- 标题行——第一行定义各列名称,以竖线(|)分隔。行首和行尾的竖线可以省略,但为了清晰起见建议保留。
- 分隔行——第二行在竖线之间使用连字符(---)将标题与数据分隔开。每列至少需要三个连字符。
- 数据行——之后的每一行都包含以竖线分隔的单元格值。单元格在视觉上无需对齐,不过对齐的列能提升源码的可读性。
- 转义竖线——如果单元格内容包含字面意义的竖线字符,需用反斜杠转义(\|),以防它被当作列分隔符解析。
列对齐方式选项
列对齐方式通过在分隔行中添加冒号来控制,它决定了文本在每一列中如何对齐。
- 左对齐(默认)——在分隔行中使用 :--- 或 ---。文本对齐到列的左边缘。未指定冒号时即为此默认方式。
- 居中对齐——在分隔行中使用 :---:。文本在列内居中显示。适用于状态标签、分类或较短的值。
- 右对齐——在分隔行中使用 ---:。文本对齐到列的右边缘。非常适合数值、价格、计数和度量值。
免费试用 —— 无需注册
生成 Markdown 表格 →常见使用场景
凡是需要在文档中呈现结构化数据的地方,都可以用到 Markdown 表格。
- README 文档——项目功能对比表、安装要求、支持的平台以及版本兼容性矩阵
- API 文档——为每个路由列出方法、路径、说明和参数表的接口参考
- 对比表格——在博客文章和技术评测中并列展示功能对比、定价档位和工具评估
- 更新日志——记录每次发布的日期、版本号和变更说明的版本历史表
技巧与最佳实践
遵循以下准则有助于让你的 Markdown 表格在源码和渲染结果中都保持易读。
- 在源码中保持列对齐——用空格填充单元格,使各列在视觉上对齐。大多数编辑器和我们的生成器都会自动处理这一点。对齐的源码在代码评审(pull request)时更易于审阅。
- 避免在单元格中放置复杂内容——Markdown 表格不支持多行单元格内容、块级元素或嵌套表格。请让单元格内容简短而简单。对于复杂数据,可考虑改用 HTML 表格。
- 限制列数——超过 5 至 6 列的表格在小屏幕上会难以阅读。可考虑将过宽的表格拆分为多个聚焦的小表格,或对超宽数据采用其他格式。
常见问题
Markdown 表格的单元格内容有长度限制吗?
单元格内容没有技术上的字符数上限,但 Markdown 表格的单元格只能是单行。你无法在单元格中包含换行、段落或列表等块级元素。对于复杂的单元格内容,请使用带 <td> 元素的 HTML 表格,它可以支持任意 HTML 内容。
我可以在 Markdown 表格中合并单元格吗?
不可以。标准的 Markdown 表格不支持 colspan 或 rowspan——每一行必须具有相同的列数。合并单元格需要使用 HTML 表格。如果你需要合并单元格,请用 HTML 编写表格,并将其直接嵌入到 Markdown 文档中。
我可以在 Markdown 表格中嵌套表格吗?
不可以。Markdown 表格无法嵌套。每个表格都是由行和列构成的扁平网格。如果你需要呈现层级数据,可考虑使用嵌套列表、带标题的多个独立表格,或使用带嵌套 <table> 元素的 HTML 表格。