markdown 合并单元格
markdown 本身没有合并单元格的语法。但是在实际使用中却有合并单元格的需求。
markdown 虽然没有合并单元格的语法,但是 markdown 是兼容 HTML 的,因此,我们可以通过 HTML 的方式实现单元格合并。
HTML 相关语法
使用示例
<td> text </td>
符号含义
- <table>:表格开始
- </table>:表格结束
- <tr>:行开始
- </tr>:行结束
- <th>:表头开始
- </th>:表头结束
- <td>:表格元素开始
- </td>:表格元素结束
- <!-- text -->:注释
- rowspan:按行合并 <td rowspan="2">text</td> 合并两行
- colspan:按列合并 <td colspan="2">text</td> 合并两列
示例 1
效果展示
CSW 命令状态封包 | ||||||||
---|---|---|---|---|---|---|---|---|
偏移 | 位 | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
源码
<table>
<tr> <!-- 第一行数据 -->
<th colspan="9">CSW 命令状态封包 </th> <!-- 表头,用于居中显示;合并 9 行为 CBW 数据封包 -->
</tr>
<tr> <!-- 第二行数据 -->
<th rowspan="2"> 偏移 </th> <!-- 表头,用于居中显示;合并 2 行为 字节 -->
<th colspan="8"> 位 </th> <!-- 表头,用于居中显示;合并 8 列 -->
</tr>
<tr> <!-- 第三行数据 -->
<td> 7 </td>
<td> 6 </td>
<td> 5 </td>
<td> 4 </td>
<td> 3 </td>
<td> 2 </td>
<td> 1 </td>
<td> 0 </td>
</tr>
</table>
示例 2
效果展示
CSW 命令状态封包 | ||||||||
---|---|---|---|---|---|---|---|---|
偏移 | 位 | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0-3 | dCBWSignature | |||||||
4-7 | dCBWTag | |||||||
8-11(08h-0Bh) | dCSWDataResidue | |||||||
12(0Ch) | bCSWStatus |
源码
<table>
<tr> <!-- 第一行数据 -->
<th colspan="9">CSW 命令状态封包 </th> <!-- 表头,用于居中显示;合并 9 行为 CBW 数据封包 -->
</tr>
<tr> <!-- 第二行数据 -->
<th rowspan="2"> 偏移 </th> <!-- 表头,用于居中显示;合并 2 行为 字节 -->
<th colspan="8"> 位 </th> <!-- 表头,用于居中显示;合并 8 列 -->
</tr>
<tr> <!-- 第三行数据 -->
<td> 7 </td>
<td> 6 </td>
<td> 5 </td>
<td> 4 </td>
<td> 3 </td>
<td> 2 </td>
<td> 1 </td>
<td> 0 </td>
</tr>
<tr> <!-- 第四行数据 -->
<th> 0-3 </th> <!-- 第一列 -->
<th colspan="8"> dCBWSignature </th> <!-- 第二列 合并了 8 列 -->
</tr>
<tr> <!-- 第五行数据 -->
<th> 4-7 </td> <!-- 第一列 -->
<th colspan="8"> dCBWTag </td> <!-- 第二列 合并了 8 列 -->
</tr>
<tr> <!-- 第六行数据 -->
<th> 8-11(08h-0Bh) </td> <!-- 第一列 -->
<th colspan="8"> dCSWDataResidue </th> <!-- 第二列 合并了 8 列 -->
</tr>
<tr> <!-- 第七行数据 -->
<th> 12(0Ch) </th> <!-- 第一列 -->
<th colspan="8"> bCSWStatus </th> <!-- 第二列 合并了 8 列 -->
</tr>
</table>
内容居中
- 上面的表格中使用
<th> text </th>
可以使相应的文本居中显示,但是会高亮 style="text-align:center"
可以让内容居中显示
示例 3
效果展示
CBW 命令块封包 | ||||||||
---|---|---|---|---|---|---|---|---|
偏移 | 位 | |||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0-3 | dCBWSignature | |||||||
4-7 | dCBWTag | |||||||
8-11(08h-0Bh) | dCBWDataTransferLength | |||||||
12(0Ch) | bmCBWFlags | |||||||
13(0Dh) | Reserved(0) | bCBWLUN | ||||||
14(0Eh) | Reserved(0) | bCBWCBLength | ||||||
15-30(0Fh-1Eh) | CBWCB |
源码
<table>
<tr> <!-- 第一行数据 -->
<th style="text-align:center" colspan="9">CBW 命令块封包 </th> <!-- 表头,用于居中显示;合并 9 行为 CBW 数据封包 -->
</tr>
<tr> <!-- 第二行数据 -->
<td style="text-align:center" rowspan="2"> 偏移 </td> <!-- 表头,用于居中显示;合并 2 行为 字节 -->
<td style="text-align:center" colspan="8"> 位 </td> <!-- 表头,用于居中显示;合并 8 列 -->
</tr>
<tr> <!-- 第三行数据 -->
<td> 7 </td> <!-- 第二列 -->
<td> 6 </td> <!-- 第三列 -->
<td> 5 </td> <!-- 第四列 -->
<td> 4 </td> <!-- 第五列 -->
<td> 3 </td> <!-- 第六列 -->
<td> 2 </td> <!-- 第七列 -->
<td> 1 </td> <!-- 第八列 -->
<td> 0 </td> <!-- 第九列 -->
</tr>
<tr> <!-- 第四行数据 -->
<td style="text-align:center"> 0-3 </td> <!-- 第一列 -->
<td style="text-align:center" colspan="8"> dCBWSignature </td> <!-- 第二列 合并了 8 列 -->
</tr>
<tr> <!-- 第五行数据 -->
<td style="text-align:center"> 4-7 </td> <!-- 第一列 -->
<td style="text-align:center" colspan="8"> dCBWTag </td> <!-- 第二列 合并了 8 列 -->
</tr>
<tr> <!-- 第六行数据 -->
<td style="text-align:center"> 8-11(08h-0Bh) </td> <!-- 第一列 -->
<td style="text-align:center" colspan="8"> dCBWDataTransferLength </td> <!-- 第二列 合并了 8 列 -->
</tr>
<tr> <!-- 第七行数据 -->
<td style="text-align:center"> 12(0Ch) </td> <!-- 第一列 -->
<td style="text-align:center" colspan="8">bmCBWFlags</td> <!-- 第二列 合并了 8 列 -->
</tr>
<tr> <!-- 第八行数据 -->
<td style="text-align:center"> 13(0Dh) </td> <!-- 第一列 -->
<td style="text-align:center" colspan="4"> Reserved(0) </td> <!-- 第二列 合并了 4 列 -->
<td colspan="4"> bCBWLUN </td> <!-- 第五列 合并了 4 列 -->
</tr>
<tr> <!-- 第九行数据 -->
<td style="text-align:center"> 14(0Eh) </td> <!-- 第一列 -->
<td style="text-align:center" colspan="3"> Reserved(0) </td> <!-- 第二列 合并了 3 列 -->
<td style="text-align:center" colspan="5"> bCBWCBLength </td> <!-- 第五列 合并了 5 列 -->
</tr>
<tr> <!-- 第十行数据 -->
<td style="text-align:center"> 15-30(0Fh-1Eh) </td> <!-- 第一列 -->
<td style="text-align:center" colspan="8"> CBWCB </td> <!-- 第二列 合并了 8 列 -->
</tr>
</table>
总结
markdown 合并单元格需要对 html 表格语法稍微熟悉下,对于新手不友好,不想折腾的还是老老实实用 excel 吧