HTML的tbody的目的是什么?

Dan*_*nos 32 html html-table

有人tbody在表格中使用HTML的主要原因是什么?它只是为了格式化目的吗?

我使用head和body一般; 我没用过thead和tbody.

Pao*_*ino 38

为您的表提供语义含义:

<table>
  <thead>
    <tr>
      <th>Person</th>
      <th>Amount</th>
      <th>Date</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Person1</td>
      <td>$5.99</td>
      <td>02/03/09</td>
    </tr>
    <tr>
      <td>Person2</td>
      <td>$12.99</td>
      <td>08/15/09</td>
    </tr>
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

根据规格:

表行可以分别使用THEAD,TFOOT和TBODY元素分组为表头,表脚和一个或多个表体部分.这种划分使用户代理能够独立于桌面和桌脚支持滚动桌面.当打印长表时,可以在包含表数据的每个页面上重复表头和脚信息.

表头和表脚应包含有关表列的信息.表体应包含表数据行.

如果存在,每个THEAD,TFOOT和TBODY都包含一个行组.每个行组必须至少包含一行,由TR元素定义.

除了重要的语义重要性(想想屏幕阅读器)之外,您还可以轻松地将标题设置为与数据行不同.另一个相关的例子是诸如Tablesorter插件之类的jQuery插件可以很容易地找出你的数据结构的样子.

  • 您也可以使用多个tbody对具有公共功能的表行进行分组并相应地设置它们的样式.http://www.w3.org/TR/html4/struct/tables.html#edef-TBODY (3认同)

Jam*_*mes 12

我发现tbody的一个很好的用途是允许行可滚动,同时保持列标题和页脚可见.这仅适用于实际支持css的浏览器.对不起没有Internet Explorer!

<tbody style="height: 150px; overflow-y: scroll">
Run Code Online (Sandbox Code Playgroud)

  • 这是不正确的.我在最新版本的Firefox,IE和Chrome中试过这个; 这在任何一个都不起作用. (4认同)

mar*_*nev 5

如果表的标题是每行的第一列怎么办?在这种情况下,无法指定表的标题.它实际上将破坏HTML,因为解析器将假定所有内容都是表的主体的一部分.

为什么这个标签确实是必要的,因为th指定了标题字段 - 浏览器可以通过这些字段找出表的哪个部分是标题.

什么是thead和tbody的重点?它们适用于某些情况,并在其他情况下破坏HTML.他们复制了th的功能.它们使代码复杂化并可能导致问题 - 在我了解tbody之前,我认为tr-s是表的子项.