JSFiddle - React, Tailwind, and code Playground
by niki4810
HTML
<div class="container">
<div class="front">
<button id="btnFront">Go to back</button>
</div>
<div class="back">
<button id="btnBack">Go to front</button>
</div>
</div>
CSS
.container {
float: left;
margin: 20px;
position: relative;
font-size: .8em;
-webkit-perspective: 600px;
-moz-perspective: 600px;
}
.container .front {
float: none;
position: absolute;
top: 0;
left: 0;
z-index: 900;
width: inherit;
height: inherit;
border: 1px solid #ccc;
background: #6b7077;
text-align: center;
-moz-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.9);
-webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.9);
box-shadow: 0 1px 5px rgba(0, 0, 0, 0.9);
-webkit-transform: rotateX(0deg) rotateY(0deg);
-webkit-transform-style: preserve-3d;
-webkit-backface-visibility: hidden;
-moz-transform: rotateX(0deg) rotateY(0deg);
-moz-transform-style: preserve-3d;
-moz-backface-visibility: hidden;
/* -- transition is the magic sauce for animation -- */
-o-transition: all .4s ease-in-out;
-ms-transition: all .4s ease-in-out;
-moz-transition: all .4s ease-in-out;
-webkit-transition: all .4s ease-in-out;
transition: all .4s ease-in-out;
}
.container.flip .front {
z-index: 900;
border-color: #eee;
background: #333;
-webkit-transform: rotateY(180deg);
-moz-transform: rotateY(180deg);
-moz-box-shadow: 0 15px 50px rgba(0, 0, 0, 0.2);
-webkit-box-shadow: 0 15px 50px rgba(0, 0, 0, 0.2);
box-shadow: 0 15px 50px rgba(0, 0, 0, 0.2);
}
.container .back {
float: none;
position: absolute;
top: 0;
left: 0;
z-index: 800;
width: inherit;
height: inherit;
border: 1px solid #ccc;
background: #333;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);
-webkit-transform: rotateY(-180deg);
-webkit-transform-style: preserve-3d;
-webkit-backface-visibility: hidden;
-moz-transform: rotateY(-180deg);
-moz-transform-style: preserve-3d;
-moz-backface-visibility: hidden;
/* -- transition is the magic sauce for animation -- */
-o-transition: all .4s ease-in-out;
-ms-transition: all .4s...
JavaScript
$(function () {
$(".container").width(200);
$(".container").height(200);
$("#btnFront").click(function () {
$(".container").addClass("flip");
});
$("#btnBack").click(function () {
$(".container").removeClass("flip");
});
});