HTML 词条目录
前端Wiki/HTML/基础/列表与表格

单元格合并

两个属性负责合并单元格:colspan 让一个单元格横向占据多列,rowspan 让它纵向占据多行。值就是占据的格数,例如 colspan="3" 表示横跨 3 列。

关键在于"被合并掉的格子要删掉"。写了 colspan="2" 之后,同一行的下一个 td 就不该再写,否则那一行会多出一列,整张表格错位。纵向合并同理:被 rowspan 覆盖的下方行里,对应位置的 td 也要省略。

实际写复杂表格的技巧:先按"每行格数相同"画出原始骨架,再逐个加合并属性并删掉多余单元格,最后数一遍每行实际占据的列数是否一致。

本节要点colspan 横向合并、rowspan 纵向合并;合并后必须删掉被覆盖的单元格,否则列数错位;写完逐行核对占据的列数。
HTML
<table border="1">
  <tr>
    <!-- 表头横跨 3 列,所以这一行不需要再写其他 th -->
    <th colspan="3">课程安排</th>
  </tr>
  <tr>
    <th>周一</th>
    <th>周三</th>
    <th>周五</th>
  </tr>
  <tr>
    <!-- 第一列纵向合并 2 行,下一行的这个位置不写 td -->
    <td rowspan="2">前端课</td>
    <td>HTML</td>
    <td>CSS</td>
  </tr>
  <tr>
    <td>JavaScript</td>
    <td>框架</td>
  </tr>
</table>