Skip to main content

How to keep dropdown visible Vue.js Tailwind

I'm trying to make a dropdown menu with Vue.js and Tailwind css, when I hover over the Genres link the dropdown appears but when I put my mouse off it disappears, how to make it remain visible while mouse is over the dropdown?

<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"></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"></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>

Tried mouse events but it doesnt fix the issue

Via Active questions tagged javascript - Stack Overflow https://ift.tt/eqPQ0vr

Comments