JSFiddle - React, Tailwind, and code Playground
HTML
<a class="social" href="" target="_blank">
<div class="front">
</div>
<div class="back">
</div>
</a>
CSS
.social {
float: left;
width: 100px;
height: 100px;
position: relative;
}
.social > div {
width: 100px; height: 100px;
position: absolute; top: 0; left: 0; right: 0; bottom: 0;
transition: transform .25s ease-out;
}
.social > .front {
width: 100px;
height: 100px;
background: red;
transform: translateZ(40px);
}
.social:hover .front {
transform: rotateY(90deg) translateZ(40px);
}
.social >.back {
transform:rotateY(-90deg) translateZ(40px);
width: 100px;
height: 100px;
background: black;
}
.social:hover .back {
transform:rotateY(0deg) translateZ(40px);
}