Markdown 表格

Markdown 表格

1. 前言

表格通常作为一种布局形式,用于结构化的数据展示。

Markdown 表格包含三个部分:表头、分割线、数据。

  • 表头 用来对列名对象进行描述,也就是通常所说的列名;

  • 数据 用来展示每行的具体内容,数据是表格的核心;

  • 分割线 用来区分表头和数据,也是 Markdown 中表格定义的最基本语法要求。

环境说明
考虑到 Markdown 工具之间的不兼容,有的内容直接从页面复制粘贴到本地不会正常显示,大家学习时自己动手写是肯定没问题的。本节所有实例代码及演示效果均使用 Typora 工具完成。

2. 语法详解

2.1 定义表格

Markdown 表格由 「竖线 |」、「减号 -」、「冒号 :」三种符号组成。

  • 竖线 用来定义列,每两个竖线之间为一个单元格元素;

  • 减号 用来定义分割线,也就是分割表头和数据体;

  • 冒号 配合减号使用,用于定义列数据的对齐属性。

我们先假定一组表格数据:

学号	姓名
1		张三
2		李四
3		王五

这其中,第一行 “学号” 和 “姓名” 就是表格的表头,“1”、“2”、“3”,“张三”、“李四”,这些都属于数据体,我们可以用以下方式展示表格内容。

实例 1

#### 定义表格|学号|姓名|
|----|----|
|1|张三|
|2|李四|
|3|王五|

其渲染结果如下:

图片描述

其转换后的 html 的内容如下:

<table><thead><tr><th>学号</th><th>姓名</th></tr></thead><tbody><tr><td>1</td><td>张三</td></tr><tr><td>2</td><td>李四</td></tr><tr><td>3</td><td>王五</td></tr></tbody></table>

2.2 设定表格列内容的对齐方式

在分割线上使用 「冒号 :」可以定义列内容的对齐方式。

实例 2

#### 表格内容的对齐|左对齐|居中对齐|右对齐|
|:--|:--:|--:|
|1|张三|17岁|
|2|李四|18岁|
|3|王五|19岁|

其渲染结果如下:

图片描述

其转换后的 html 的内容如下:

<table><thead><tr><th align=left>左对齐</th><th align=center>居中对齐</th><th align=right>右对齐</th></tr></thead><tbody><tr><td align=left>1</td><td align=center>张三</td><td align=right>17岁</td></tr><tr><td align=left>2</td><td align=center>李四</td><td align=right>18岁</td></tr><tr><td align=left>3</td><td align=center>王五</td><td align=right>19岁</td></tr></tbody></table>

3. 使用场景及实例

表格在文章中多用于展示数据或者计划,例如数据库设计文档中,对于 Table 内容的展示、或者课程表等等。

实例 3:一张小学生课程表

#### 小学生课程表| |周一|周二|周三|周四|周五|
|--:|---|---|---|---|---|
|**1**|数学|英语|数学|语文|品德|
|**2**|美术|数学|品德|数学|语文|
|**3**|品德|品德|语文|体育|数学|
|**4**|语文|音乐|体育|品德|美术|
|||||||
|**5**|数学|英语|语文|数学|语文|
|**6**|品德|数学|美术|劳动|活动|

其渲染结果如下:

图片描述

4. 小结

  • 数据表格使用「竖线」、「减号」、「冒号」三种符号定义,包含表头、分割线、数据三部分;

  • 数据表格必须包含 “表头” 和 “分割线”,否则无法渲染成功;

  • 数据表格转换失败通常由于表头和分隔线的数量不相等所致,所以在遇到问题时,请首先检查单元格数量是否匹配;

  • Markdown 中的表格的原生支持只有固定格式,无法支持复杂格式,如果需要定义复杂的表格效果,请使用 html 的 <Table> 标签实现。