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">
<span class="top"></span>
<span class="middle"></span>
<span class="bottom"></span>
</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;
opacity: 0.5;
}
input[type="checkbox"]:checked ~ .cont-anim .clear-menu-btn {
background-color:yellow;
}
/*------- start animazione -----*/
/*-------input[type="checkbox"] {
position: absolute;
filter: alpha(opacity=0);
opacity: 0;
width: 100%;
height: 100%;
}
-----*/
input[type="checkbox"]:hover { cursor: pointer; }
input[type="checkbox"]:checked ~ .cont-anim .clear-menu-btn .top, .cont-anim .clear-menu-btn .clear-menu-btn input[type="checkbox"]:checked ~ .cont-anim .clear-menu-btn .bottom { top: 50%; }
input[type="checkbox"]:checked ~ .cont-anim .clear-menu-btn .top {
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
}
input[type="checkbox"]:checked ~ .cont-anim .clear-menu-btn .bottom {
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-o-transform: rotate(-45deg);
transform: rotate(-45deg);
}
input[type="checkbox"]:checked ~ .cont-anim .clear-menu-btn .middle {
filter: alpha(opacity=0);
opacity: 0;
}
/*----- end animazione menu-------*/
.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;
}
.cont-anim .clear-menu-btn span {
position: absolute;
display: block;
width:...