JSFiddle - React, Tailwind, and code Playground
by Forresty
HTML
<nav>
<div id="nav_overlay"></div>
<ul>
<li><a href="#" class="border">Home</a>
</li>
<li><a href="#" class="border">My Work</a>
</li>
<li><a href="#">Contact</a>
</li>
</ul>
<div class="navbar_handle">
<div class="navbar_menu"><span class="menu_icon">A</span>
</div>
</div>
</nav>
CSS
a {
text-decoration: none;
color: inherit;
}
#nav_overlay {
display: none;
width: 100%;
height: 100%;
position: fixed;
background: #000;
opacity: .6;
z-index: 2;
}
nav {
position: fixed;
width: 100%;
top: 0;
}
nav ul {
position: relative;
height: 0;
background: #2b2b2b;
overflow: hidden;
color: #f6f6f6;
padding: 0;
text-align: center;
margin: 0;
-webkit-transition: height .2s linear;
transition: height .2s linear;
z-index: 3;
}
nav ul li {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
nav ul li:hover {
background-color: #0b0b0b;
}
nav ul li a {
display: block;
width: 100%;
padding: 20px;
}
nav .navbar_handle {
position: relative;
border-top: 4px solid #de1b1b;
width: 100%;
background: #f6f6f6;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
display: inline-block;
vertical-align: middle;
z-index: 3;
}
nav .navbar_handle .navbar_menu {
font-family: dan_custom-font;
font-size: 2em;
line-height: 1em;
width: auto;
height: 100%;
float: right;
padding: 10px;
margin-right: 0.5em;
cursor: pointer;
color: #de1b1b;
text-align: center;
-webkit-transition: color .3s;
transition: color .3s;
}
.menu_icon.change {
color: transparent;
}
.menu_icon.change:after {
color: red;
content:'B';
}
.showing {
height: 12.1875em;
}
.main {
line-height: 1.5em;
}
JavaScript
$(document).ready(function () {
$(".navbar_menu").click(function () {
$("nav ul").toggleClass("showing");
$(".menu_icon").toggleClass('change');
$("#nav_overlay").fadeToggle("fast");
});
});