html表语法验证

时间:2009-05-15 00:40:41

标签: html validation html-table

这应该很容易。

我有一张这样的表:

<table>
<tr>
<td></td><td></td><td></td><td></td>
</tr>
<tr>
<td></td>
</tr>
</table>

我的firefox 3验证器说这是可以接受的代码。这对我来说似乎不对,是否有任何可能的问题让表格行不均匀?它也适用于IE7。

5 个答案:

答案 0 :(得分:1)

如果您想使用不均匀的行/列,需要应使用rowspan and/or colspan attributes来表明这一点。 例如:

<table>
<tr><td></td><td></td><td></td></tr>
<tr><td colspan="3"></td></tr>
</table>

正如guffa在下面纠正我一样,colspan在技术上并不需要,但是明确表达你的意图绝对不会伤害。

答案 1 :(得分:1)

您应该使用'rowspan'或'colspan'属性

<table>
  <tr>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td colspan="3"></td>
  </tr>
</table>

答案 2 :(得分:1)

表行不需要具有相同数量的单元格。表中的列数由具有大多数单元格的行确定。

你的第二个表行只有三个空白单元格(与空单元格不同)。

答案 3 :(得分:0)

那么,那里没有语法错误,我真的不明白为什么你应该对这样的表持怀疑态度,只要你使用td-element的colspan属性:

<table>
<tr>
<td></td><td></td><td></td><td></td>
</tr>
<tr>
<td colspan="3"></td>
</tr>
</table>

希望有所帮助。

答案 4 :(得分:0)

从结构的角度来看,这段代码很好。它是有效的XHTML。比较一下:

<orders>
   <order id='2009/1'>
     <item id='1'/><item id='2'><item id='3'/>
   </order>
   <order id='2009/2'>
     <item id='33'/>
   </order>
</orders>

虽然可能看起来很奇怪,因此建议使用colspan。这样你就可以得到单个TD来填充行,而不是它上面的TD的宽度。