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

如何在CSS中实现hover单个链接时其他兄弟链接变灰?

问题分析与解决方案

你的核心问题是选择器逻辑错误,你写的.list-items a:hover.item:not(:hover)这类选择器不可能匹配任何元素——一个元素无法同时处于:hover和:not(:hover)状态。另外,你要操作的"兄弟链接"并非直接的DOM兄弟(它们各自被<h2>包裹),所以需要借助父容器的hover状态来实现效果。

正确的CSS代码

.item {
  color: black;
  transition: color 0.3s ease;
}

/* 当父容器被hover时,所有.item变为浅灰色 */
.list-items:hover .item {
  color: lightgray;
}

/* 被hover的那个.item保持黑色 */
.list-items .item:hover {
  color: black;
}

原理说明

  • 当鼠标进入.list-items容器范围时,里面所有的.item都会变成浅灰色;
  • 当鼠标精准hover到某个.item上时,该元素的:hover样式会覆盖父容器hover时的样式,保持黑色;
  • 过渡效果会让颜色变化更平滑,符合你的需求。

额外注意点

  • 确保你的Hugo模板里的<ul>确实带有class="list-items",和CSS选择器对应(你之前的尝试里有写成list-item的错误,要避免);
  • 这个方案支持后续新增的文章,不需要修改CSS,只要保持结构一致即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 12:42:41