html - 如何突出显示两个表格行,其中一行的单元格具有 "rowspan"属性?

标签 html css

表格是这样的:

table {
  border-collapse: collapse;
}
<table border="1">
  <tr>
    <td rowspan="2">Text here</td>
    <td>The row 1 text goes here</td>
  </tr>
  <tr>
    <td>The row 2 text goes here</td>
  </tr>
  <tr>
    <td rowspan="2">Text here</td>
    <td>The row 1 text goes here</td>
  </tr>
  <tr>
    <td>The row 2 text goes here</td>
  </tr>
  <tr>
    <td rowspan="2">Text here</td>
    <td>The row 1 text goes here</td>
  </tr>
  <tr>
    <td>The row 2 text goes here</td>
  </tr>
</table>

我想要实现的是,当用户将鼠标悬停在其中一行上时,其他相邻行以及用户悬停在其上的行都会突出显示。我试过这个:

table {
  border-collapse: collapse;
}

table tr:nth-child(odd):hover {
  background: #CCC;
}

table tr:nth-child(odd):hover + tr {
  background: #CCC;
}

table tr:nth-child(even):hover {
  background: #CCC;
}
<table border="1">
  <tr>
    <td rowspan="2">Text here</td>
    <td>The row 1 text goes here</td>
  </tr>
  <tr>
    <td>The row 2 text goes here</td>
  </tr>
  <tr>
    <td rowspan="2">Text here</td>
    <td>The row 1 text goes here</td>
  </tr>
  <tr>
    <td>The row 2 text goes here</td>
  </tr>
  <tr>
    <td rowspan="2">Text here</td>
    <td>The row 1 text goes here</td>
  </tr>
  <tr>
    <td>The row 2 text goes here</td>
  </tr>
</table>

这几乎可以工作,但是当您将鼠标悬停在显示“第 2 行文本位于此处”的行上时,只有该行会突出显示。是否有针对此问题的仅 HTML/CSS 解决方法?

我在想的是 <rowgroup> .

最佳答案

tbody标签是一个组,可以使用multiple times :

table {
  border-collapse: collapse;
}

tbody:hover {
  background: #CCC;
}
<table border="1">
  <tbody>
    <tr>
      <td rowspan="2">Text here</td>
      <td>The row 1 text goes here</td>
    </tr>
    <tr>
      <td>The row 2 text goes here</td>
    </tr>
  </tbody>
  <tbody>
    <tr>
      <td rowspan="2">Text here</td>
      <td>The row 1 text goes here</td>
    </tr>
    <tr>
      <td>The row 2 text goes here</td>
    </tr>
  </tbody>
  <tbody>
    <tr>
      <td rowspan="2">Text here</td>
      <td>The row 1 text goes here</td>
    </tr>
    <tr>
      <td>The row 2 text goes here</td>
    </tr>
  </tbody>
</table>

关于html - 如何突出显示两个表格行,其中一行的单元格具有 "rowspan"属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52566341/

相关文章:

jquery - 如何在更改内容时保持 div 高度固定?

javascript - 粘性侧边栏不适用于短文章

html - 在图像 css 上重叠文本

javascript - 如何使用 jquery 设置多个 CSS 显示属性值

javascript - 制作一个不滚动 body 其余部分的可滚动div

html - 表格行显示的图标图像和文本行不在同一行

html - 内联元素的 float 属性

javascript - Bootstrap 导航栏不显示 CSS

html - 如何为 Google Chrome 和 Google Tasks 网站创建用户样式?

javascript - CSS 和 jQuery : Element moving Element