JSFiddle - React, Tailwind, and code Playground

by Marie Gérard

HTML

<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
    <span class="sr-only">Toggle navigation</span>
    <span class="icon-bar one"></span>
    <span class="icon-bar two"></span>
    <span class="icon-bar three"></span>
  </button>

CSS

.navbar-toggle {
  width: 80px;
}

.sr-only {
  visibility: hidden;
  width: 0px;
  height: 0px;
}

.navbar-toggle span.icon-bar {
  width: 25px;
  height: 2px;
  margin: 5px auto;
  background-color: orange;
  display: block;
-webkit-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
}

.navbar-toggle.is-active .icon-bar.two {
  opacity: 0;
}

.navbar-toggle.is-active .icon-bar.one {
  -webkit-transform: translateY(7px) rotate(45deg);
  -ms-transform: translateY(7px) rotate(45deg);
  -o-transform: translateY(7px) rotate(45deg);
  transform: translateY(7px) rotate(45deg);
}

.navbar-toggle.is-active .icon-bar.three {
  -webkit-transform: translateY(-6px) rotate(-45deg);
  -ms-transform: translateY(-6px) rotate(-45deg);
  -o-transform: translateY(-6px) rotate(-45deg);
  transform: translateY(-6px) rotate(-45deg);
}

JavaScript

$(function(){

	$(".navbar-toggle").click(function(){
            $(this).toggleClass("is-active"); 
	});
  
});