html - CSS 中不正确的行和列突出显示

标签 html css

我试图在悬停表格时同时突出显示特定的行和列。但不知何故,只有列的悬停覆盖了整个数据。

这是我的代码:

.planStat {
  overflow: hidden; 
}
.planStat tr:hover {
    background: #ffaa00;
 }
.planStat tr:hover td{
      position: relative; 
}
.planStat tr:hover td:hover::after {
      content: "";
      position: absolute;
      background-color: #ffa;
      left: 0;
      top: -5000px;
      height: 10000px;
      width: 100%;
      z-index: 1; 
}
<table class="planStat">
  <tr>
    <td align="right">Name</td>
    <td align="right">Wochenstunden</td>
    <td align="right">Arbeitstage</td>
  </tr>
  <tr>
    <td align="right">SOLL</td>
    <td align="right">IST</td>
    <td align="right">Diff</td>
  </tr>
</table>

还有 JS fiddle :https://jsfiddle.net/5kdgj6j7/

我哪里错了?我尝试了很多组合,但没有一个奏效。

对应的SASS代码

.planStat {
 overflow: hidden;
 tr:hover {
     background: #ffaa00;
     td, th {
         position: relative;
     }
 }
td:hover::after,
th:hover::after {
    content: "";
    position: absolute;
    background-color: #ffaa00;
    left: 0;
    top: -5000px;
    height: 10000px;
    width: 100%;
    z-index: -1;
}}

最佳答案

您需要将z-index设置为-1

.planStat {
  overflow: hidden; 
}
.planStat tr:hover {
    background: #ffaa00;
 }
.planStat tr:hover td{
      position: relative; 
}
.planStat td:hover::after {
      content: "";
      position: absolute;
      background-color: #ffa;
      left: 0;
      top: -5000px;
      height: 10000px;
      width: 100%;
      z-index: -1; 
}
<table class="planStat">
  <tr>
    <td align="right">Name</td>
    <td align="right">Wochenstunden</td>
    <td align="right">Arbeitstage</td>
  </tr>
  <tr>
    <td align="right">SOLL</td>
    <td align="right">IST</td>
    <td align="right">Diff</td>
  </tr>
  <tr>
    <td align="right">SOLL</td>
    <td align="right">IST</td>
    <td align="right">Diff</td>
  </tr>
  <tr>
    <td align="right">SOLL</td>
    <td align="right">IST</td>
    <td align="right">Diff</td>
  </tr>
  <tr>
    <td align="right">SOLL</td>
    <td align="right">IST</td>
    <td align="right">Diff</td>
  </tr>
</table>

关于html - CSS 中不正确的行和列突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34655038/

相关文章:

html - 谷歌浏览器 (v.51) 未应用打印媒体 css

html - CSS Sprites 得到太多的 Sprite ,或者根本没有

css - 在 Angular 2 中使用 md-grid-list 进行响应式设计

php - 仅针对 index.php header

html - 隐藏类别 div block ,从响应式布局中 100% 展开幻灯片

php - 如何在字符串中间添加内容?

javascript - 在电子邮件中显示 &lt;script&gt; 标签

php - 防止 DOMDocument 去除空标签后的空格

javascript - 将 </div> 替换为空字符串

html - 具有灵活高度的表格单元格内的绝对定位