或者单元格总数应该等于columns * rows
?
在不同行上具有不同数量的单元格的表似乎通过了W3验证器。
答案 0 :(得分:22)
这不违反定义。但是您应该使用colspan属性将列扩展到整行:
<table>
<tr>
<td>Row with</td>
<td>2 cols</td>
</tr>
<tr>
<td colspan="2">Row with only one col</td>
</tr>
</table>
如果您在单元格周围有边框,这也会有所帮助。
您甚至可以将表格的列扩展为两行:
<table>
<tr>
<td rowspan="2">First column in row 1 and row 2</td>
<td>Second column in row 1</td>
</tr>
<tr>
<td>second column in row 2</td>
</tr>
</table>
答案 1 :(得分:7)
您可以使用colspan
,但包含colspan
值的总和应相等,以便表格正确呈现。
<table>
<tr>
<td colspan="2">blah</td>
</tr>
<tr>
<td>blah</td>
<td>boo</td>
</tr>
</table>
第一行有一个单元格但由于colspan
它跨越2个单元格,第二行有两个单元格,这完全有效。
答案 2 :(得分:3)
是的,它可以。在table > tr > td
中,td
包含内容。 Td
在此引用:http://www.htmlcodetutorial.com/tables/_TD.html。在该参考文献中,您可以看到TD有2个属性: colspan 和 rowspan 。通过使用这两个属性,表可以在不同的行上具有不同数量的单元格
演示:
<table border="1">
<tr>
<td>a</td>
<td>b</td>
</tr>
<tr>
<td colspan="2">c</td>
</tr>
</table>
和
<table border="1">
<tr>
<td rowspan="2">a</td>
<td>b</td>
</tr>
<tr>
<td>c</td>
</tr>
</table>
答案 3 :(得分:2)
是的,你可以创建一个HTML表格并在某些行上省略<td>
元素,但这被认为是不好的形式,因为你无法确定HTML呈现器(浏览器)如何处理这种情况。不同的浏览器可能会略有不同。
定义每行显示不同数量单元格的表的推荐方法是使用colspan
将两个或多个相邻单元格连接成一个。这将使最右侧的单元格与正确的列对齐,并消除您希望HTML渲染器执行操作的任何歧义。
答案 4 :(得分:2)
您使用过:
<table>
<thead>
<th>Column one</th>
<th>Column two</th>
<th>Column three</th>
</thead>
<tbody>
<tr>
<td rowspan="2">A large cell</td>
<td>Another small cell0</td>
<td>Another small cell0</td>
</tr>
<tr>
<td>Another small cell1</td>
<td>Another small cell1</td>
</tr>
</tbody>