You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HTML表格td垂直堆叠疑问:为何需分两行放置Jupiter与Saturn?

关于HTML表格垂直堆叠单元格的疑问解答

首先得搞明白HTML表格的核心逻辑:表格是按行(<tr>)逐行构建的,每一行的单元格(<td>/<th>)是水平排列的,整个表格的布局本质是一个行对齐的网格。

你代码里的rowspan="2"是关键——它让"Gas Giants"这个单元格跨越了2行的高度,相当于它“占据”了两行的位置。那对应的,旁边要放Jupiter和Saturn的列,必须分成两行来填充:

  • 第一行里,"Jovian Planets"、"Gas Giants"、"Jupiter"三个单元格组成完整的一行;
  • 第二行里,因为"Gas Giants"已经占了这一行的位置,只需要补充"Saturn"这个单元格,就能和第一行的"Jupiter"在同一列上垂直对齐,形成你要的堆叠效果。

如果把Jupiter和Saturn放在同一行的两个<td>里,那这一行就会有4个单元格(<th>Jovian Planets</th>、<td rowspan="2">Gas Giants</td>、<td>Jupiter</td>、<td>Saturn</td>),而第二行没有对应的单元格,表格的网格结构直接乱掉——这俩行星会变成水平排列在同一行,根本达不到垂直堆叠的效果。

举个错误写法的例子,你就能直观看到问题:

<!-- 错误写法:同一行放两个行星,结果是横向排列 -->
<table>
  <tr>
    <th>Jovian Planets</th>
    <td rowspan="2">Gas Giants</td>
    <td class="names">Jupiter</td>
    <td class="names">Saturn</td>
  </tr>
  <tr></tr>
</table>

简单说,HTML表格的垂直堆叠依赖行的拆分,用rowspan让相邻单元格跨多行,再在对应行补充单元格,才能形成列方向的垂直排列。

内容的提问来源于stack exchange,提问作者NoobFrontEnder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 16:32:05