You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:Div类表格无法实现单一行Hover高亮效果

解决单行Hover高亮问题

咱们来一步步排查你遇到的问题哈:

问题1:DOM结构错误(导致选中所有行)

看你的HTML代码,第一个.row标签没有闭合!后面的所有.row都被嵌套进第一个里面了,所以你hover的时候会触发父元素的hover事件,把所有子行都带起来。
修复方法:给第一个.row补上闭合标签,位置在第一个.four的闭合标签之后:

<div class="four">
  <h3> Work Due </h3>
</div>
<!-- 补上缺失的.row闭合标签 -->
</div>

问题2:浮动导致父元素高度塌陷(hover触发不了)

你的.row里的子元素都是float:left,但.row没有清除浮动,这会导致父元素高度塌陷成0——也就是说,你看到的红色区域其实是子元素撑起来的,.row本身没有实际高度,鼠标根本hover不到它!
解决方法推荐用伪元素清除浮动,给.row添加如下样式:

.row::after {
  content: "";
  display: table;
  clear: both;
}

这样.row就能正确包裹住浮动的子元素,拥有实际高度,hover事件就能正常触发了。

问题3:Hover样式无视觉变化

你当前的.row:hover设置的背景色和默认.row一样都是red,就算触发了也看不出来!改成一个有区分度的颜色,比如:

.row:hover {
  background-color: darkred;
}

额外优化:让整行子元素同步hover效果

现在子元素的背景色(白、绿)会盖住.row的背景色,hover时只能看到子元素缝隙变色。如果想要整行包括子元素都同步高亮,可以修改为:

.row:hover .one,
.row:hover .two,
.row:hover .three,
.row:hover .four {
  background-color: darkred;
  /* 也可以给每个子元素设置不同的hover色,按需调整 */
}

把这些修改完成后,你的单行hover高亮就能正常工作啦!

内容的提问来源于stack exchange,提问作者user9696370

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:30:39