JSFiddle - React, Tailwind, and code Playground
by Solomon Mokua
HTML
<input type="checkbox" id="activator" />
<label for="activator">
<div class="activator">
Menu
</div>
</label>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Services</a>
<ul>
<li><a href="#">Web Design</a></li>
<li><a href="#">Web Development</a></li>
<li><a href="#">Web Hosting</a></li>
</ul>
</li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
CSS
html, body{
padding: 0;
margin: 0;
font-family: sans-serif;
}
nav ul ul{
display: none;
}
nav ul li:hover > ul{
display: block;
}
a{
color: inherit;
text-decoration: none;
}
nav ul{
padding: 0;
margin: 0;
background-color: #232323;
min-height: 50px;
position: relative;
}
nav ul li{
display: inline-block;
padding: 0;
margin: 0;
background-color: #232323;
color: #fff;
}
nav ul li a{
padding: 0 20px;
line-height: 50px;
display: block;
}
nav ul li a:hover{
background-color: #82b541;
}
nav ul ul{
position: absolute;
}
nav ul ul li{
display: block;
}
.activator{
width: 100%;
height: 40px;
background-color: #232323;
border-bottom: 1px solid #000;
line-height: 40px;
text-align: center;
color: #fff;
cursor: pointer;
display: none;
}
#activator{
display: none;
}
@media screen and (max-width: 530px){
nav{
display: none;
}
.activator{
display: block;
}
#activator:checked ~ nav{
display: block;
}
nav ul li{
display: block;
}
nav ul ul{
display: block;
position: relative;
padding-left: 25px;
}
}