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>
标签实现。