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>
標簽實現。