【问题标题】:can a <tfoot> go at the bottom of a table?<tfoot> 可以放在桌子的底部吗?
【发布时间】:2010-01-13 02:09:17
【问题描述】:

我想在表格中使用&lt;tfoot&gt; 标记以保证语义正确,但它一直显示在我的表格顶部。有没有办法让它显示在底部?

【问题讨论】:

  • 请发布您的整个&lt;table&gt;
  • 请注意,答案没有提到在 HTML 4.01 中,将 tfoot 放在源中的任何 tbody 之后是一个错误。 (直到 HTML5 才正式允许这样做。)这就是许多 HTML 编辑器重新排列表格以便 tfoot 位于顶部的原因。

标签: html css xhtml


【解决方案1】:

正如其他人所说,tfoottbody 之前定义,但在之后呈现。这是设计使然,不会改变语义(一张桌子有头、脚和身体——它们的顺序无关紧要)

这样做的原因是为了在 body 仍在下载的同时加载脚并在屏幕上显示,这样你仍然可以阅读脚中的摘要信息。这些天它几乎没有实际意义,但是由于连接速度慢且桌子很大,您可能仍然会看到好处。

【讨论】:

  • 当标准没有意义时,这不是很烦人。 “ACBDEFG……”
  • +1 用于解释为什么 tfoot 标签应该在 tbody 标签之上。
  • 遗憾的是我们不能像页脚标签一样放置它,可能有正当理由将其视觉定位在其他地方,但是嘿嘿。
  • 屏幕阅读器也从中受益。视障人士在阅读页脚之前不必阅读完整表格,在大多数情况下,页脚包含的相关内容比随机单元格更多。
  • 我更喜欢将tfoot放在tbody之后,否则当您单击并拖动以选择文本时,它会跳来跳去。
【解决方案2】:

根据the specification,您可以将tfoot 放在tbody 元素之前或之后。请参阅上一个链接中的以下说明。

可以使用该元素的上下文:

  1. 作为 table 元素的子元素,在任何 caption、colgroup 和 thead 元素之后以及任何 tbody 和 tr 元素之前,但前提是没有其他 tfoot 元素是 table 元素的子元素。

  2. 作为表格元素的子元素,在任何标题、colgroup、thead、tbody 和 tr 元素之后,但前提是没有其他 tfoot 元素是表格元素的子元素。

无论您将标记放置在何处,页脚信息都会直观地显示在底部。

【讨论】:

  • 我认为tfoot 这个名字具有误导性。这可能是造成混乱的原因。
  • 这根本没有误导 - 它是表格的页脚。问题只是假设您必须在某个地方定义它
【解决方案3】:

如果&lt;tfoot&gt; 的内容不在&lt;tr&gt;&lt;td&gt; 标记中,则&lt;tfoot&gt; 可以显示在整个&lt;table&gt; 之上,并且分别 - 不在表格中。

【讨论】:

  • 谢谢,这就是我的收获。
【解决方案4】:

您的表格应如下所示:

<table>
    <thead>...</thead>
    <tfoot>...</tfoot>
    <tbody>...</tbody>
</table>

tfoot 出现在tbody 上方。但是,它将呈现在表格的底部

【讨论】:

【解决方案5】:

我知道这个问题是不久前被问到的,但我想我会将我的 tfoot 经验添加到已经制作的 cmets 中。当我将 CSS“display:block”添加到 tfoot 元素时,它出现在 thead 和 tbody 之间,而不是在底部。当 display:block 被删除时,它显示正确。我浪费了一些时间来解决这个问题,所以我希望我的回答能帮助其他人节省时间和恶化!

【讨论】:

    猜你喜欢
    • 2013-12-02
    • 2013-12-17
    • 2021-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    • 2011-05-17
    相关资源
    最近更新 更多