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

Vue中使用Tailwind构建导航菜单时hover效果不符合预期的问题

解决选中菜单项hover效果屏蔽的问题

你当前的代码里,hover:bg-indigo-100是直接加在所有<li>的固定class里,所以不管菜单项是否被选中,鼠标hover时都会触发这个样式。要实现仅未选中项有hover效果,只需要把hover样式移到动态class的判断逻辑里即可:

修改后的代码:

<div class="px-2 w-56">
    <div class="bg-[#dce3ef40] rounded-lg my-2">
       <ul class="space-y-0">
          <li v-for="item in solutions" :key="item.name" :href="item.href" 
              class="px-4 py-2 flex space-x-4 items-center cursor-pointer" 
              :class="selectedNav==item.name 
                ? 'font-bold text-gray-100 bg-[#0175f6]' 
                : 'hover:bg-indigo-100'">
             <div v-html="item.icon"></div> 
             <a href="#">{{ item.name }}</a>
          </li>
       </ul>
    </div>
</div>

关键修改点:

  • 从<li>的固定class中移除hover:bg-indigo-100
  • 在动态class的else分支(未选中状态)添加hover:bg-indigo-100

这样处理后,只有未被选中的菜单项会在hover时显示bg-indigo-100背景,选中的菜单项不会再触发hover样式,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 21:32:42