正确的HTML表格标记语言是什么?

4

这可能是一个有点儿愚蠢的问题,但我在别人的表格中看到了一些像tbody和thead/tfoot标签之类的东西。

即使它们为空,这些标签是否也是必需的好的标记呢?或者我可以把它们省略掉吗?

6个回答

3
表头(thead)部分、表格主体(tbody)部分和表尾(tfoot)部分是可选的。表格标题(caption)和列定义(col/colgroup)也是可选的。在HTML中(但不是XHTML),行和单元格的结束标记也是可选的,因此您可以编写如下的表格:
<table>
  <tr>
    <th>1
    <th>2
  <tr>
    <td>3
    <td>4
  <tr>
    <td>5
    <td>6
</table>

然而,建议您关闭标签以获得更好的代码结构。如果您决定更改为XHTML,则这也会使它变得更加容易。


9
始终关闭标签…认真对待。 - Luke
4
@Coulton:是的,正如我在答案中所解释的那样,这是推荐的做法,但并不是HTML标准所要求的。 - Guffa

2

2
那些标签并非必需品,即使没有它们页面也能通过验证。

0
如果你真的需要表格,那么你应该使用它们。如果你只是为了设计而使用表格,那么你应该转换为CSS标记。
一个简单正确的表格示例:
<table>
  <thead>
    <tr>
      <td>id</td>
      <td>name</td>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>User1</td>
    </tr>
    <tr>
      <td>2</td>
      <td>User2</td>
    </tr>
  </tbody>
</table>

你不应该将表格用于设计目的 :) 这就是 div 和 p 标签被发明出来的原因。 - Fidi
我正在尝试均匀地分布我的导航链接(画廊,作品集,联系方式等),我觉得表格是实现我想要的美学效果最简单的方法。 - Gazow
表格用于展示具有表格形式的数据。设计目的绝不能使用表格,CSS 可以实现你想要的一切甚至更多。 - Tobias P.
1
@Gazow,你应该使用无序列表来进行导航,而不是表格。以下是你需要用于此目的的基本代码:http://www.alistapart.com/articles/taminglists/ - sarahjean

0

是的,这是正确的标记。 虽然它们是可选的, 您可以在W3Schools页面上进一步阅读。


0

<tbody> 标签在所有主流浏览器中仅部分支持。
表格可能有多个主体,但当它只有一个单一的主体时,可以安全地省略 HTML tbody 标签。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接