JSFiddle - React, Tailwind, and code Playground
by Pedro Marcano
HTML
<div class="container">
<div class="boton">
<span></span>
<span></span>
<span></span>
</div>
</div>
CSS
* {
padding: 0;
margin: 0;
box-sizing: border-box;
}
.container {
width: 100%;
height: 100%;
min-height: 100vh;
border: 1px solid tomato;
position: relative;
}
.container .boton {
top: 50%;
left: 50%;
width: 80px;
height: 80px;
text-align: center;
cursor: pointer;
border-radius: 50%;
border: 1px solid #ebebe7;
transition: 0.5s ease-in-out;
transform: translate(-50%, -50%);
position: absolute;
text-align: center;
padding-top: 40px;
}
.boton span {
width: 40%;
height: 3px;
left: 50%;
background: black;
position: absolute;
transition: 0.7s ease-in-out;
transform: translate(-50%, -50%);
border-radius: 0;
}
.boton span:nth-child(1) {
top: 40%;
}
.boton span:nth-child(2) {
top: 50%;
opacity: 1;
transition: 0.9s ease-in;
}
.boton span:nth-child(3) {
top: 62%;
}
.boton:hover {
transform: scale(0.98) translate(-50%, -53%) ;
box-shadow: 0 5px 4px -6px black;
/*border: 1px solid rgba(0,0,0,0.3);*/
}
.boton:hover span {
background: red;
}
.boton:hover span:nth-child(1){
top:50%;
left: 31%;
transform: rotate(-45deg);
}
.boton:hover span:nth-child(2){
opacity: 0;
transition: 0s;
}
.boton:hover span:nth-child(3){
top:50%;
left: 31%;
transform: rotate(45deg);
}