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

为无序列表ul li添加hover效果失败,寻求解决方案

修复导航列表的hover下划线效果问题

问题原因

  1. HTML结构错误:导航文字写在了<a>标签外部,鼠标hover时无法触发<a>元素的hover事件,伪元素::after的hover状态自然不会生效。
  2. CSS语法错误:#header选择器中的padding-bottom: 50缺少单位和分号,会干扰CSS解析。

修复方案

  1. 将导航文字移入<a>标签内部,确保hover目标正确。
  2. 修正CSS语法错误,补充单位与分号。
  3. 可选:给伪元素添加过渡动画,优化交互体验。

修复后的完整代码

CSS 代码

body{
  background: #080808;
  color: #fff;
}
#header{
  width: 100%;
  height: 100vh;
  background-image: url();
  background-position: center;
  background-size: cover;
  padding-bottom: 50px; /* 补充单位与分号 */
}
.container{
  padding: 10px 10% ;
}

nav{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.logo{
  width: 140px;
}

nav ul li{
  display: inline-block;
  list-style: none;
  margin: 10px 20px;
}

nav ul li a{
  position: relative;
  text-decoration: none;
  color: #fff;
}

nav ul li a::after{
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 0;
  height: 3px;
  background-color: red;
  transition: width 0.3s; /* 添加过渡动画 */
}

nav ul li a:hover::after{
  width: 100%;
}

HTML 代码

<div class="container">
  <nav>
    <img src="" class="logo">
    <ul>
      <li><a href="#Home">Home</a></li> <!-- 文字移入a标签内 -->
      <li><a href="#About">About</a></li>
      <li><a href="#Services">Services</a></li>
      <li><a href="#Portfolio">Portfolio</a></li>
      <li><a href="#Contact">Contact</a></li>
    </ul>
  </nav>
</div>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 18:58:34