JSFiddle - React, Tailwind, and code Playground

by genelocklin

HTML

<ul class="menu">
    <li><a href="#">Link 1</a></li>
    <li><a href="#">Link 2</a>
        <ul class="submenu">
            <li><a href="#">Link 1</a></li>
            <li><a href="#">Link 2</a></li>
            <li><a href="#">Link 3</a> </li>
        </ul>
    </li>
    <li><a href="#">Link 3 </a></li>
</ul>

CSS

body {
    padding: 15px;
}
.menu, .menu ul {
    padding: 0;
    margin: 0;
    list-style: none;
}
.menu li {
    float: left;
    padding-right: 1px;
    position: relative;
}
.menu a {
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    display: block;
    padding: 15px 30px;
    background-color: #454545;
    text-decoration: none;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
}
.menu li:hover a {
    background-color: #979797;
}
.menu ul {
    position: absolute;
    width: 102px;
    top: 48px;
    left: 0;
    opacity: 0;
    transition: all 0.3s ease-in;
    -webkit-transition: all 0.3s ease-in;
    -moz-transition: all 0.3s ease-in;
    visibility: hidden;
}
.menu ul li {
    padding-bottom: 1px;
    position: relative;
}
.menu ul a {
    background-color: #979797;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
}
.menu ul a:hover {
    background-color: #454545;
}
.menu li:hover > ul {
    opacity: 1;
    visibility: visible;
}
.menu ul ul {
    position: absolute;
    top: 0;
    left: 101px;
    opacity: 0;
    transition: all 0.3s ease-in;
    -webkit-transition: all 0.3s ease-in;
    -moz-transition: all 0.3s ease-in;
}
.menu ul ul a {
    background-color: #454545;
}
.menu ul ul a:hover {
    background-color: #979797;
}
.menu ul li:hover ul {
    opacity: 1;
}