表组列样式与列跨不一致



我试图突出显示带有使用 span 属性的单元格的列,例如总体标题单元格。

我通过使用colgroupcol标签以最明显的方式尝试了它。不幸的是,这会产生不一致的结果。总体单元格用跨越它的第一列突出显示,但不用连续的列突出显示(请参阅下面的示例)。

我可以看到,当在不同的列上使用背景颜色时,如果突出显示,则总体单元格必须同时具有两种颜色,这是不可能的。因此,我认为最一致的结果是它没有颜色。也许有一些属性,我可以设置以获得一致的突出显示?

测试:https://jsfiddle.net/m13d2arf/1/

.highlight {
  background-color: red;
}
th, td {
  border: 1px solid;
}
<table>
  <colgroup>
    <col class="highlight">
    <col>
  </colgroup>
  <thead>
    <tr>
      <th colspan="2">1</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1.1</td>
      <td>1.2</td>
    </tr>
  </tbody>
</table>
<br>
<table>
  <colgroup>
    <col>
    <col class="highlight">
  </colgroup>
  <thead>
    <tr>
      <th colspan="2">1</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1.1</td>
      <td>1.2</td>
    </tr>
  </tbody>
</table>

作为一种解决方法,您可以覆盖 th 元素的背景颜色。

th {
  background-color: white;
}

.highlight {
  background-color: red;
}
th {
  background-color: white;
}
th, td {
  border: 1px solid;
}
<table>
  <colgroup>
    <col class="highlight">
    <col>
  </colgroup>
  <thead>
    <tr>
      <th colspan="2">1</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1.1</td>
      <td>1.2</td>
    </tr>
  </tbody>
</table>
<br>
<table>
  <colgroup>
    <col>
    <col class="highlight">
  </colgroup>
  <thead>
    <tr>
      <th colspan="2">1</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1.1</td>
      <td>1.2</td>
    </tr>
  </tbody>
</table>

相关内容

  • 没有找到相关文章

最新更新