JSFiddle - React, Tailwind, and code Playground
HTML
<nav role="navigation" id="navigation-wrapper">
<ul class="menu-wrapper">
<li>
<a href="#">Menu item</a>
<ul class="sub-menu">
<li>
<a href="#">Subitem-1</a>
<ul>
<li>Sub-Subitem-1</li>
<li>Sub-Subitem-2</li>
<li>Sub-Subitem-3</li>
</ul>
</li>
<li>
<a href="#">Subitem-2</a>
<ul>
<li>Sub-Subitem-1</li>
<li>Sub-Subitem-2</li>
<li>Sub-Subitem-3</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
CSS
body {
margin: 0;
padding: 0;
}
ul {
list-style-type: none;
padding: 0;
margin: 0;
}
ul.menu-wrapper {
height: 80px;
}
ul.menu-wrapper {
background: gray;
}
ul.menu-wrapper>li {
height: 100%;
display: flex;
align-items: center;
}
ul.menu-wrapper ul.sub-menu {
visibility: hidden;
position: absolute;
top: 80px;
}
ul.menu-wrapper ul.sub-menu.active {
visibility: visible;
}
ul.menu-wrapper ul.sub-menu.active>li.active {
background: darkmagenta;
}
JavaScript
$('ul.menu-wrapper').children().hover(
function() {
let subMenu = $(this).find('ul.sub-menu').first()
subMenu.addClass('active')
subMenu.children().first().addClass('active')
subMenu.children().hover(
function() {
$(this).addClass('active')
},
function() {
$(this).removeClass('active')
}
)
},
function() {
let subMenu = $(this).find('ul.sub-menu').first()
subMenu.removeClass('active')
}
)