【问题标题】:Can a td be inside a tdtd 可以在 td 内吗
【发布时间】:2011-11-21 00:57:00
【问题描述】:

这可能是个无稽之谈,我知道我们必须尽可能地遵循标准。但是<td> 可以是另一个<td> 的直系孩子吗,像这样:

<td class="parent">
    <td class="child">
        <!-- Some info -->
    </td>
</td>

或者在添加 &lt;td&gt; 之前,必须使用新的 &lt;tr&gt; 创建另一个 &lt;table&gt;,这可能会大量填充表格标签并聚集在一起...

【问题讨论】:

  • 将整个表格放在单元格中并不杂乱——它是可以理解的。不要写无意义的 HTML 来节省打字。
  • 我的建议:远离嵌套表!
  • 它们有自己的位置 --- 有些东西在语义上最好用嵌套表表示。
  • @JasonFruit - 比如什么?您最后一次看到在普通书籍中打印的嵌套表格是什么时候(即与 HTML 没有任何关系的表格)?
  • @Alohci --- 很方便,就在两天前,在一本提供早期飞机规格的书中。每行都有一个附加信息区域,在少数情况下是表格。

标签: html html-table w3c w3c-validation


【解决方案1】:

不遵循标准(例如将&lt;td&gt; 标记放在&lt;dt&gt; 中)的问题在于,您不能保证所有浏览器的结果都是相同的,或者任何浏览器的下一次更新都不会简单忽略错误使用的标签。

作为旁注:作为开发者社区,我们为 Internet Explorer 终于开始认真对待标准而哭泣和呼喊,所以现在我们不要开始自己搞砸了!

【讨论】:

    【解决方案2】:

    不是直接,但你可以在 td 中放置表格

    <td class="parent">
       <table><tr>
        <td class="child">
            <!-- Some info -->
        </td>
       </tr></table>
    </td>
    

    【讨论】:

    • 你也可以在 中放一个 div,这样就不会那么令人发指了。
    【解决方案3】:

    不,&lt;td&gt; 可能不是 &lt;td&gt; 的子代。 &lt;td&gt; 只能是 &lt;tr&gt; 的子代。

    【讨论】:

      【解决方案4】:

      最好新建一个table标签。

      您给出的示例不标准,并且行为可能因浏览器而异

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-08-25
        • 1970-01-01
        • 2013-01-08
        • 2010-11-21
        • 2014-01-19
        • 2022-01-03
        • 2015-02-11
        相关资源
        最近更新 更多