JSFiddle - React, Tailwind, and code Playground

by Andrea Biagi

HTML

<div class="clear-menu-btn">
  <input type="checkbox">
  <span class="top"></span>
  <span class="middle"></span>
  <span class="bottom"></span>
</div>

<div class="cont-anim">
    <input type="checkbox"/>
     <div class="anim"></div>
</div>

<input type="checkbox"/>
<div class="cont-anim">
    <div class="anim-dentro"></div>
</div>

<input type="checkbox"/>
<div class="cont-anim">
    <div class="clear-menu-btn">
    </div>
</div>

<input type="checkbox"/>
<div class="anim-out"></div>

CSS

.clear-menu-btn {
  position: relative;
  width: 50px;
  height: 50px;
  margin: 0 auto;
}

.cont-anim .clear-menu-btn {
  position: relative;
  width: 50px;
  height: 50px;
  margin: 0 auto;
  background-color:violet;
}

input[type="checkbox"]:checked ~ .cont-anim .clear-menu-btn {
  background-color:yellow;
}

/*------------*/
.clear-menu-btn input[type="checkbox"] {
  position: absolute;
  filter: alpha(opacity=0);
  opacity: 0;
  width: 100%;
  height: 100%;
}

.clear-menu-btn input[type="checkbox"]:hover { cursor: pointer; }

.clear-menu-btn input[type="checkbox"]:checked ~ .top, .clear-menu-btn input[type="checkbox"]:checked ~ .bottom { top: 50%; }

.clear-menu-btn input[type="checkbox"]:checked ~ .top {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

.clear-menu-btn input[type="checkbox"]:checked ~ .bottom {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.clear-menu-btn input[type="checkbox"]:checked ~ .middle {
  filter: alpha(opacity=0);
  opacity: 0;
}

/*------------*/


.cont-anim {
  background-color:brown;
  height:100px;
   width:100px;
}

.cont-anim .anim{
  background-color:blue;
  height:50px;
  width:50px;
}

.cont-anim input[type="checkbox"]:checked ~ .anim {
  background-color:yellow;
}

.anim-out{
  background-color:green;
  height:50px;
  width:50px;
}

input[type="checkbox"]:checked ~ .anim-out {
  background-color:yellow;
}

.cont-anim .anim-dentro{
  background-color:pink;
  height:50px;
  width:50px;
}

input[type="checkbox"]:checked ~ .cont-anim .anim-dentro {
  background-color:yellow;
}

.clear-menu-btn span {
  position: absolute;
  display: block;
  width: 50px;
  height: 3px;
  background-color: red;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
 ...