【问题标题】:Can we add div inside table above every <tr>?我们可以在每个 <tr> 上方的表格中添加 div 吗?
【发布时间】:2014-06-19 20:37:34
【问题描述】:

您好,我正在尝试在每个 &lt;tr&gt; 上方添加一个 div,但是当我查看 html 控制台时,该 div 显示在表格之外。下面是html代码。

<table>
  <div>
    <tr><td></td></tr>
  </div>
  <div>
    <tr><td></td></tr>
  </div>
</table>

这是不允许的吗?任何帮助都会很棒。

【问题讨论】:

  • 你可以使用 , , 标签。查看我的答案和以下链接。

标签: html


【解决方案1】:

&lt;div&gt;标签不能在&lt;tr&gt;标签上方使用。相反,您可以使用&lt;tbody&gt; 标签来完成您的工作。如果您打算将id 属性赋予&lt;div&gt; 标签并进行一些处理,您可以通过&lt;tbody&gt; 标签实现相同的目的。 &lt;div&gt;&lt;table&gt; 都是块级元素。所以它们不能嵌套。 欲了解更多信息,请访问this page

例如:

<table>
    <tbody class="green">
        <tr>
            <td>Data</td>
        </tr>
    </tbody>
    <tbody class="blue">
        <tr>
            <td>Data</td>
        </tr>
    </tbody>
</table>

其次,您可以将“div”标签放在“td”标签内。

<table>
    <tr>
        <td>
            <div></div>
        </td>
    </tr>
</table>

欢迎提出更多问题。

【讨论】:

  • “Div 和 Table 都是块级元素。所以它们不能嵌套”——当然块级元素可以嵌套。
  • 谢谢你,在一天结束的时候帮助我!
【解决方案2】:

不,您不能直接在表格内插入 div。不是正确的html,会导致意外的输出。

我很乐意更有洞察力,但你还没有说出你正在尝试什么,所以我真的无法提供替代方案。

【讨论】:

    【解决方案3】:

    您不能将 div 直接放在表格中,但可以将 div 放在 tdth 元素中。

    为此,您需要确保 div 位于实际的表格单元格、tdth 元素内,这样做:

    HTML:-

    <tr>
      <td>
        <div>
          <p>I'm text in a div.</p>
        </div>
      </td>
    </tr>
    

    更多信息:-

    http://css-tricks.com/using-divs-inside-tables/

    【讨论】:

      【解决方案4】:

      您不能使用标签将多个标签组成一组。如果您想为任何目的制作一组标签,例如在 ajax 中更改特定组或在 CSS 中更改特定标签的样式等,请使用

      例如

      <table>
        <tbody id="foods">
          <tr>
            <td>Group 1</td>
          </tr>
          <tr>
            <td>Group 1</td>
          </tr>
        </tbody>
      
        <tbody id="drinks">
          <tr>
            <td>Group 2</td>
          </tr>
          <tr>
            <td>Group 2</td>
          </tr>
        </tbody>
      </table>
      

      【讨论】:

        【解决方案5】:

        在 html 表格中,&lt;table&gt; 标记期望 &lt;tr&gt; 标记紧随其后,&lt;tr&gt; 标记期望 &lt;td&gt; 标记紧随其后。所以如果你想在表格中放一个div,你可以把它放在&lt;td&gt;&lt;/td&gt;标签之间作为数据。

        <table>
          <tr>
            <td>
              <div>
                <p>It works well</p>
              </div>
             </td>
          </tr>
        <table>

        【讨论】:

          【解决方案6】:

          如果我们遵循w3 org table reference,并遵循允许的内容部分,我们可以看到table标签将tbody(可选)和tr作为唯一允许的内容.

          所以我认为可以肯定地说我们不能添加div 标记作为table 的直接子级的流内容,我理解这就是你在tr 上面所说的意思。

          话虽如此,当我们按照上面的链接进行操作时,您会发现在td 元素中使用divs 是安全的,如here 所示

          【讨论】:

            【解决方案7】:

            您可以使用display: table-row-group 作为您的 div。

            <table>
              <div style="display: table-row-group">
                <tr><td></td></tr>
              </div>
              <div style="display: table-row-group">
                <tr><td></td></tr>
              </div>
            </table>
            

            【讨论】:

              猜你喜欢
              • 2019-01-13
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2016-01-26
              • 1970-01-01
              • 1970-01-01
              • 2016-12-15
              相关资源
              最近更新 更多