JSFiddle - React, Tailwind, and code Playground
HTML
<nav>
<ul class="menu-container">
<li>
Menu 1
</li>
<li class="with-sub">
Menu 2
<ul class="submenu-container">
<li>
Submenu 1
</li>
<li>
Submenu 2
</li>
</ul>
</li>
<li>
Menu 3
<ul class="submenu-container">
<li>
Submenu 3
</li>
<li>
Submenu 4
</li>
<li>
Submenu 5
<ul class="subsubmenu-container">
<li>
Subsubmenu 1
</li>
<li>
Subsubmenu 2
</li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
CSS
* {
margin: 0;
padding: 0;
box-shadow: 0;
}
nav {
height: 2em;
}
.menu-container {
display: flex;
flex-flow: row nowrap;
justify-content: space-evenly;
align-items: center;
background: green;
position: relative;
width: 100%;
}
.menu-container > li:hover .submenu-container > li {
display: flex;
}
.submenu-container {
display: flex;
flex-flow: column nowrap;
justify-content: center;
align-items: center;
position: absolute;
top: 100%;
z-index: 1;
background-color: green;
width: 20%;
}
.submenu-container > li {
display: none;
}
.submenu-container > li:hover .subsubmenu-container > li {
display: flex;
}
.subsubmenu-container {
display: flex;
flex-flow: column nowrap;
justify-content: center;
align-items: center;
position: absolute;
right: 100%;
z-index: 1;
background-color: green;
width: 100%;
}
.subsubmenu-container > li {
display: none;
}
li {
list-style: none;
padding: 0.5em;
width: 100%;
heigth: 100%;
text-align: center;
}