【问题标题】:HTML table cell <td> grouping at row levelHTML 表格单元格 <td> 在行级别分组
【发布时间】:2021-03-30 20:06:25
【问题描述】:

有没有什么方法可以将几个&lt;td&gt; 虚拟地分组,以便在一个元素中一次为这些单元格设置样式,而不是为所有单元格分别设置多次?

这纯粹是服务器端生成的代码,我可以在其中应用特定的 css 类来格式化一行中的几个单元格的文本颜色,基于一些逻辑。

这不起作用:

  <tr>
    <td>3476896</td>
    <td>Name</td>
    <div class="sometextcolor">
    <td>My first HTML</td>
    <td>$53</td>
    </div>
  </tr>

毫不奇怪,因为 HTML 5 规范将 &lt;tr&gt; 定义为

零个或多个 td、th 和脚本支持元素

试过colgroup,但这会影响所有具有相同样式的行。

【问题讨论】:

  • 您应该看一下 css 类 - 这将为您提供一种设置常见元素样式的方法。您不能将 元素包装在
  • 是的,这会有所帮助,但我需要根据行内容动态更改半行的颜色。因此,这将需要更改所有这些单元格的 css 类。同样的工作 - 所有受影响的单元格都需要进行更改。
  • 您打算如何“动态”更改颜色?通过javascript?您仍然可以通过类名获取元素并根据需要设置颜色。也许你需要多解释一下设置颜色的条件
  • 我已经澄清了这个问题。
  • 如果您正在生成输出服务器端,那么您可以将适当的类应用于适用的 s。正如我在之前的评论中所指出的,您不能将一组 元素包装在
    中。

标签: html html-table


【解决方案1】:

您尝试不使用表格元素。用 div 单元格编写这种类型的表有助于完全使用复杂的 JavaScript。 您可以使用 CSS 将潜水显示为表格。 这完全改变了想法,很抱歉,但您可以尝试不使用表格元素。 将 CSS 显示属性与这些值 table-row、table-cell、table-row-group 等一起使用

【讨论】:

    【解决方案2】:

    使用下面的 css 在一行中的特定单元格上添加样式,但它会为您的所有表格添加样式,您可以在表格中使用 class 或 id 来专门设置表格样式

    .Custom-Table tr td:nth-child(2), .Custom-Table tr td:nth-child(3){
          color: red !important;
     }
    

    一般

    table tr td:nth-child(2), table tr td:nth-child(3){
         color: red !important;
    }
    

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签