我想用Vue做一个下拉菜单。js和Tailwind css,当我将鼠标悬停在类型链接上时,下拉菜单会出现,但当我把鼠标关闭时,它会消失,如何让它在鼠标悬停在下拉菜单上时保持可见?
<template>
<nav class="navbar">
<div class="navigation flex justify-between">
<ul class="flex gap-2.5">
<li v-for="item in navLinks" :key="item.name">
<NuxtLink :to="item.link" class="hover:text-blue-500">{{ item.name }}</NuxtLink>
<div v-if="item.name === 'Genres'" class="dropdown absolute w-48 bg-white shadow-lg rounded-lg py-2">
<ul>
<li v-for="genre in genres" :key="genre._id">
<NuxtLink :to="genre.name" class="block px-4 py-2 text-gray-800 hover:bg-blue-500 hover:text-white">{{ genre.name }}</NuxtLink>
</li>
</ul>
</div>
</li>
</ul>
<div class="auth flex gap-2">
<NuxtLink to="/auth/register">Register</NuxtLink>
<NuxtLink to="/auth/login">Login</NuxtLink>
</div>
</div>
</nav>
</template>
<script setup>
const { genres } = defineProps(['genres'])
</script>
<style scoped>
.dropdown {
display: none;
top: 2.5rem;
left: 0;
position: absolute;
}
li:hover > .dropdown, .dropdown:hover {
display: block;
}
@media (max-width: 768px) {
.navigation {
flex-direction: column;
align-items: center;
gap: 1rem;
}
.auth {
margin-top: 1rem;
}
}
</style>
已尝试鼠标事件,但未解决问题
1条答案
按热度按时间zpgglvta1#
通过在父li元素上使用:hover伪类而不是下拉元素。
只要鼠标在父li或下拉列表本身上,下拉列表将保持可见。