表 td colspan 不适用于带有 id 的 tr

Posted

技术标签:

【中文标题】表 td colspan 不适用于带有 id 的 tr【英文标题】:Table td colspan not working for tr with ids 【发布时间】:2013-11-16 01:12:08 【问题描述】:

我有一个类似于下面的表结构:

<tr>
  <td colspan="5">
    TEST
  </td>
</tr>
<tr id="abcd_<?php echo  $id; ?>" style="display: none;">
  <td colspan="5">
    <span id="hidtb_<?php echo  $id; ?>"></span>
  </td>
</tr>

表格在循环中,$id 的值发生变化。第二个tr 使用javascript 设置为display : block。但是&lt;td colspan="5"&gt; 并没有覆盖所有五个&lt;td&gt;s,而是只有一个。

为什么我的colspan 不起作用?

【问题讨论】:

html 似乎是正确的。它应该可以工作。 @SureshKamrushi:它不起作用,请参阅下面的答案... @Legionar:很好的答案。但恐怕它支持所有浏览器? @SureshKamrushi:至少在 firefox 和 safari 中,display: block 对于tr 会有问题。 这与 Javascript 或 AJAX 有什么关系?如果您使用固定标记,这是否有效?那么这毕竟与PHP无关 【参考方案1】:

这是display: block 的问题。

请参考以下链接 http://thedesignspace.net/MT2archives/000376.html#.UUrg3FfCd1u

如果您隐藏tr,则使用display: table-row 而不是display: block 来显示tr

如果您隐藏td,则使用display: table-cell 而不是display: block 来显示td

在设置tr 的样式时使用table-row,而不是block。完美!

【讨论】:

感谢军团..工作得很好。在您的答案中也将tabel 更改为table。大声笑 我将display: block 添加到&lt;TR&gt; 以使page-break-after: always; 工作。这当然会使colspan 无用。将其更改为 display: table-row 修复了 colspan 问题,但不允许分页符。不是针对这个问题,但我想让你知道这个解决方案可能会产生其他后果。

以上是关于表 td colspan 不适用于带有 id 的 tr的主要内容,如果未能解决你的问题,请参考以下文章

清除响应表中的 colspan

带有args的graphql查询不适用于用户ID

带有#id的jQuery load()不适用于TEXTAREA

如何在表格中选择包括 colspans 的列?

tr的display属性出现td的colspan无效问题

TBODY 背景图像也不适用于所有 TD 元素,如何解决?