HTML表可以在行上有可变数量的单元格吗?

时间:2010-08-14 19:22:11

标签: html html-table

或者单元格总数应该等于columns * rows

在不同行上具有不同数量的单元格的表似乎通过了W3验证器。

5 个答案:

答案 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>