JSFiddle - React, Tailwind, and code Playground
HTML
<span class="nav_toggle">
<i></i>
<i></i>
<i></i>
</span>
<nav class="nav">
<ul class="nav_menu_ul">
<li class="nav_menu_li"><a href="#profile">About</a></li>
<li class="nav_menu_li"><a href="#skill">Skill</a></li>
<li class="nav_menu_li"><a href="#price">Price</a></li>
<li class="nav_menu_li"><a href="#contact">Contact</a></li>
</ul>
</nav>
<div id="profile" style="margin-top: 80vh">#About</div>
<div id="skill" style="margin-top: 80vh">#Skill</div>
<div id="price" style="margin-top: 80vh">#Price</div>
<div id="contact" style="margin-top: 80vh">#Contact</div>
CSS
/* hamburger menu */
.nav_toggle {
display: block;
position: relative;
width: 1.75rem;
height: 1.5rem;
}
.nav_toggle {
display: block;
position: fixed;
width: 1.75rem;
height: 1.5rem;
top: 6vh;
right: 3vw;
}
.nav_toggle i {
display: block;
width: 100%;
height: 2px;
background-color: #333;
position: absolute;
transition: transform .5s, opacity .5s;
}
.nav_toggle i:nth-child(1) {
top: 0;
}
.nav_toggle i:nth-child(2) {
top: 0;
bottom: 0;
margin: auto;
}
.nav_toggle i:nth-child(3) {
bottom: 0;
}
.nav_toggle.show i:nth-child(1) {
transform: translateY(10px) rotate(-45deg);
}
.nav_toggle.show i:nth-child(2) {
opacity: 0;
}
.nav_toggle.show i:nth-child(3) {
transform: translateY(-12px) rotate(45deg);
}
.nav {
position: fixed;
top: 3rem;
/*left: 0;*/
right: 0;
bottom: 0;
padding: 1rem;
opacity: 0;
visibility: hidden;
transition: opacity .5s, visibility .5s;
}
.nav.show {
opacity: 1;
visibility: visible;
}
.nav_menu_li a{
color:black;
text-decoration: none;
cursor: pointer;
}
JavaScript
$('.nav_toggle').on('click', function () {
$('.nav_toggle, .nav').toggleClass('show');
});