【问题标题】:What is benefit of <thead><thead> 有什么好处
【发布时间】:2010-04-23 16:48:57
【问题描述】:

使用 tad 而不是 td 有什么好处?如果有好处...

【问题讨论】:

  • 你知道,有趣的是,在我看到标签之前,我首先认为这是#include 的错字......
  • 哇,谢谢大家的回答
  • 所提供的答案很好地解决了您关于 的问题。请务必注意,您应该在 行中将 元素标记为“表格标题单元格”。

标签: html


【解决方案1】:

HTML 中的theadtbodytfoot 元素用于根据表的内容将表行分组为逻辑部分。您想要这样做的主要原因有两个:

  1. 允许滚动正文 独立于标题和/或 页脚

  2. 为了更容易应用不同的 风格规则不同 表格的各个部分。

【讨论】:

  • 此外,我认为屏幕阅读器可以使用“thead/tbody/tfoot”元素。找不到我在哪里读到的。
  • 我没有使用屏幕阅读器的经验,但我认为这很有可能。
  • @Syntactic 我如何实现您的第 1 点?我正在为我的桌子使用thead
【解决方案2】:

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

桌头桌脚应该 包含有关表的信息 列。表体应包含 表格数据行。

http://www.w3.org/TR/html401/struct/tables.html#h-11.2.3

【讨论】:

    【解决方案3】:

    我还没有看到这里提到它,但另一个好处是,在大多数浏览器中,您实际上可以乱序编码 &lt;thead&gt;&lt;tfoot&gt;&lt;tbody&gt;,它们将出现在正确的位置桌子。虽然晦涩难懂,但我以前曾利用过这一点。例如:

    <?php $count = 0; ?>
    <table>
      <tbody>
        <?php foreach($foo as $f):?>
          <tr>...</tr>
          <?php $count++; ?>
        <?php endforeach; ?>
      </tbody>
      <thead>
        <th>Entries (<?=$count?> total)</th>
        ...
      </thead>
    </table>
    

    我想要标题中列出的总行数,所以我在foreach() 中增加了一个计数器并将&lt;thead&gt; 放在底部,这样我就可以在我的标题中使用$count 的值。

    当然不是主要的好处,但仍然是一个好处。

    【讨论】:

    • 其实theadtfoot元素必须在tbody元素之前。尽管浏览器会很灵活,并尽可能地呈现表格。
    【解决方案4】:

    使用theadtfoottbody 可以将特殊格式应用于表格的各个部分。例如,您可以在表格的所有打印页面上包含页眉和页脚,或者您可以让tbody 滚动,而theadtfoot 将保持静态。

    【讨论】:

      【解决方案5】:

      theadtd 没有任何可比性。 thead 仅代表表格标题,td 代表表格单元格。

      <table>
          <thead>
              <tr><th>head1</th><th>head2</th></tr>
          </thead>
          <tbody>
              <tr><td>row1col1</td><td>row1col2</td></tr>
              <tr><td>row2col1</td><td>row2col2</td></tr>
          </tbody>
      </table>
      

      另见w3schools tutorial

      语义上的好处是您将表格标题与表格主体分开(如果有的话,还有可以用&lt;tfoot&gt; 表示的表格页脚)。技术上的好处是您可以单独设置它们的样式,例如,只需为&lt;tbody&gt; 提供固定高度和溢出,即可轻松实现具有固定页眉/页脚的可滚动主体的表格。 很遗憾 MSIE 是唯一不支持它的浏览器。

      【讨论】:

        【解决方案6】:

        THEAD 旨在包装所有标题行。它的对应对象是TBODYTFOOT。如果您想通过 CSS 或 JavaScript 区分这些行,它们会很有用。

        【讨论】:

          【解决方案7】:

          &lt;thead&gt; &lt;tbody&gt;&lt;tfoot&gt; 将表格的特定部分(您将行在其中)标记为表格的页眉、正文和页脚。这可用于在每个表上重复页眉和页脚(某些浏览器默认这样做,其他浏览器似乎需要帮助)。见Repeat table headers in print mode

          【讨论】:

            【解决方案8】:

            来自 w3c 规范:

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

            希望这会有所帮助。

            【讨论】:

              【解决方案9】:

              thead 不经常使用。它标识了table 的一部分,即“标题”,并且在某种程度上向浏览器提示用户可能希望看到这部分,即使他向上和向下滚动表格的其余部分。 http://www.w3schools.com/tags/tag_thead.asp

              【讨论】:

                【解决方案10】:

                这是我发现的一个优势。假设您要打印一个网页,该网页的行数太多,以至于整个表格都适合一页以上(当您想要打印它时)。 thead 实际上会导致浏览器在所有页面(表格延伸到的页面)中包含 表格标题,从而提高可读性。你可以阅读它here

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2011-01-04
                  • 1970-01-01
                  • 2010-11-19
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-11-05
                  相关资源
                  最近更新 更多