如果您对表格布局的工作方式感到困惑,它们基本上从 x=0、y=0 开始,然后依次进行。让我们用图形来解释,因为它们非常有趣!
当你开始一个表格时,你就创建了一个网格。您的第一行和单元格将位于左上角。可以把它想象成一个数组指针,随着 x 的每一个递增值向右移动,随着 y 的每一个递增值向下移动。
对于您的第一行,您只定义了两个单元格。一个跨越 2 行,一个跨越 4 列。因此,当您到达第一行的末尾时,它看起来像这样:
<table>
<tr>
<td rowspan="2"></td>
<td colspan="4"></td>
</tr>
</table>
现在行已经结束,“数组指针”跳到下一行。由于 x 位置 0 已被前一个单元格占用,因此 x 跳转到位置 1 开始填充单元格。 * 请参阅有关行跨度之间差异的说明。
这一行有四个单元格,它们都是 1x1 的块,填充它上面一行的相同宽度。
<table>
<tr>
<td rowspan="2"></td>
<td colspan="4"></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
下一行是所有 1x1 单元格。但是,例如,如果您添加了一个额外的单元格怎么办?好吧,它会从右边的边缘弹出。
<table>
<tr>
<td rowspan="2"></td>
<td colspan="4"></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
* 但是如果我们改为(而不是添加额外的单元格)使所有这些单元格的行跨度为 2 会怎样?您需要在这里考虑的是,即使您不会在下一行中添加更多单元格,该行仍然必须存在(即使它是一个空行)。如果您确实尝试在之后立即在该行中添加新单元格,您会注意到它会开始将它们添加到底行的末尾。
<table>
<tr>
<td rowspan="2"></td>
<td colspan="4"></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td rowspan="2"></td>
<td rowspan="2"></td>
<td rowspan="2"></td>
<td rowspan="2"></td>
<td rowspan="2"></td>
</tr>
<tr>
<td></td>
</tr>
</table>
享受创建表格的美妙世界!