CodeGym /课程 /Frontend SELF ZH /HTML 中的表格单元格合并

HTML 中的表格单元格合并

Frontend SELF ZH
第 5 级 , 课程 3
可用

8.1 水平合并单元格

在表格中合并单元格可以让你创建更灵活和更有信息量的数据展示。 这在你需要合并几个单元格来创建标题或者汇总数据时尤其有用。 在 HTML 中,可以使用 colspanrowspan 属性来合并单元格。

属性 colspan

属性 colspan 用于水平合并单元格。它指定一个单元格应该跨越的列数。 例如,如果你有一个 colspan="2" 的单元格,它会占据一行中两个普通单元格的位置。

使用示例:

假设你有一个三列的表格,你希望第一行的第一个单元格占据两列。 你可以使用 colspan="2" 来合并这两个单元格。这在创建跨多列的标题或者结合属于多个分类的数据时非常有用。

HTML
    
      <table border="1">
        <tr>
          <th>名字</th>
          <th>年龄</th>
          <th>城市</th>
        </tr>
        <tr>
          <td>Alice</td>
          <td>25</td>
          <td>伦敦</td>
        </tr>
        <tr>
          <td colspan="2">总计</td>
          <td>2 条记录</td>
        </tr>
      </table>
    
  

8.2 垂直合并单元格

属性 rowspan 用于垂直合并单元格。它指定一个单元格应该跨越的行数。 例如,如果你有一个 rowspan="2" 的单元格,它会占据一列中两个普通单元格的位置。

使用示例:

假设你有一个三行的表格,你希望第一列的第一个单元格占据两行。 你可以使用 rowspan="2" 来合并这两个单元格。这在创建一个数据分类跨多行的表格时非常有用,例如合并的标题或汇总数据。

HTML
    
      <table border="1">
        <tr>
          <th>名字</th>
          <th>项目</th>
          <th>城市</th>
        </tr>
        <tr>
          <td rowspan="2">Alice</td>
          <td>项目 A</td>
          <td>伦敦</td>
        </tr>
        <tr>
          <!-- 这里是占位符 -->
          <td>项目 B</td>
          <td>巴统</td>
        </tr>
      </table>
    
  

8.3 工作原理说明

colspan 和 rowspan 的工作原理

水平合并(colspan): 想象一下,当你创建一个日程表,而一个课程是在多个教室内进行的。 你可以用 colspan 合并单元格,来表示某个课程跨越了两个时间段。

垂直合并(rowspan): 想象一下,你有一个比赛结果表格,其中一位参赛者参加了多个阶段。 你可以用 rowspan 合并单元格,来表示某位参赛者跨越了两个阶段。

实用示例

创建跨多列的标题: 如果你的表格中有不同的数据类别,你希望创建一个跨多列的标题,可以使用 colspan。 例如,标题 "员工信息" 可以覆盖列 "名字"、"年龄" 和 "部门"。

垂直合并数据: 如果你的数据需要垂直合并,例如同一个人或物体有多条记录,可以用 rowspan。 例如,如果你的项目有多阶段(如项目阶段数据),可以用 rowspan 来合并描述单元格。

8.4 示例

假设你有一个表格,显示员工及其参与的不同项目:

  • 员工:Ivan、Maria、Peter。
  • 项目:项目 A、项目 B。

你想要合并单元格,显示 Ivan 和 Maria 同时参与了两个项目:

HTML
    
<table border="1">
    <tr>
        <th>名字</th>
        <th>项目 A</th>
        <th>项目 B</th>
        <th>城市</th>
    </tr>
    <tr>
        <td>Ivan</td>
        <td colspan="2">是</td>
        <td>伦敦</td>
    </tr>
    <tr>
        <td>Maria</td>
        <td colspan="2">是</td>
        <td>伦敦</td>
    </tr>
    <tr>
        <td>Peter</td>
        <td>是</td>
        <th>否</th>
        <td>罗马</td>
    </tr>
</table>
    
  

或者,如果你想要显示 Ivan 参与了两个项目:

HTML
    
      <table border="1">
        <tr>
          <th>名字</th>
          <th>项目</th>
          <th>城市</th>
        </tr>
        <tr>
          <td rowspan="2">Ivan</td>
          <td>项目 A</td>
          <td>伦敦</td>
        </tr>
        <tr>
          <!-- 空白 -->
          <td>项目 B</td>
          <td>伦敦</td>
        </tr>
        <tr>
          <td>Sergey</td>
          <td>项目 C</td>
          <td>罗马</td>
        </tr>
      </table>
    
  

我特意在被合并的单元格位置插入了注释,这样可以更清楚地看到剩下的部分是如何显示的。

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION