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

如何让导航列表首个链接保持下划线,其余仅hover时显示?

导航链接下划线问题解决方案

你需要调整CSS选择器的精准度,同时通过父容器与子元素的状态组合来实现需求,修改后的完整CSS代码如下:

.nav__links a {
  padding-block: 5px;
  color: var(--text-dark);
  border-bottom: 3px solid transparent;
}

.nav__links a:hover {
  border-color: var(--btn-primary-color);
}

/* 默认第一个导航链接显示下划线 */
.nav__links li:first-child a {
  border-color: var(--btn-primary-color);
}

/* 鼠标悬停其他列表项时,隐藏第一个链接的下划线 */
.nav__links:hover li:first-child:not(:hover) a {
  border-color: transparent;
}

代码说明:

  • .nav__links li:first-child a:之前直接用a:first-child无效,是因为该选择器会匹配每个父元素下的第一个<a>,而这里需要精准定位到第一个<li>内部的<a>,所以通过li:first-child来限定范围,实现默认显示下划线的效果。
  • .nav__links:hover li:first-child:not(:hover) a:当整个导航容器处于hover状态(鼠标在导航区域内),且第一个<li>未被hover(鼠标停在其他列表项上)时,将第一个链接的下划线设为透明,达到“hover其他项时第一个链接下划线消失”的要求。

这样就能完全满足你的需求:

  • 第一个链接默认始终显示下划线;
  • 其他链接仅在鼠标悬停时显示下划线;
  • 鼠标移到其他列表项(包括按钮项)时,第一个链接的下划线自动消失,移回第一个列表项时重新显示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 20:36:16