JSFiddle - React, Tailwind, and code Playground

by James Doyle

HTML

<div class="cube">
	<div class="flippety">
		<h1>Flippity</h1>
	</div>
	<div class="flop">
		<h2>Flop</h2>
	</div>
</div>

CSS

/* Set-up */
body {
	color: rgb(6, 106, 117);
	text-transform: uppercase;
	font-family: sans-serif;
	font-size: 100%;
	background: #F4F6F8;
	padding: 3em 0 0 0;
	line-height: 62px;
	-webkit-perspective: 1000px; /* <-NB */
}
 
/* Container box to set the sides relative to */
.cube {
	width: 30%;
	text-align: center;
	margin: 0 auto;
	height: 100px;
 
	-webkit-transition: -webkit-transform 2s;
	transition: transform 2s; /* Animate the transform properties */
 
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d; /* <-NB */
}
 
/* The two faces of the cube */
.flippety,.flop {
	background: rgb(247, 247, 247);
	border: 1px solid rgba(147, 184, 189, .8);
 
	-webkit-border-radius: 5px;
	border-radius: 5px;
 
	-webkit-box-shadow: 0 5px 20px rgba(105, 108, 109, .3), 0 0 8px 5px rgba(208, 223, 226, .4) inset;
	box-shadow: 0 5px 20px rgba(105, 108, 109, .3), 0 0 8px 5px rgba(208, 223, 226, .4) inset;
	height: 100px;
}
 
/* Position the faces */
.flippety {
	-webkit-transform: translateZ(50px);
	transform: translateZ(50px);
}
 
.flop {
	-webkit-transform: rotateX(-90deg) translateZ(-50px);
	transform: rotateX(-90deg) translateZ(-50px);
}
 
/* Rotate the cube */
.cube:hover {
	-webkit-transform: rotateX(89deg);
	transform: rotateX(89deg); /* Text bleed at 90º */
}