<div class="scene">
<div class="cube">
<div class="face front">Front</div>
<div class="face back">Back</div>
<div class="face left">Left</div>
<div class="face right">Right</div>
</div>
</div>
body {
margin: 100px;
}
.scene {
width: 200px;
height: 200px;
perspective: 600px;
}
.cube {
width: 100%;
height: 100%;
position: relative;
transform-style: preserve-3d;
transform: rotateX(45deg) rotateY(45deg);
transition: transform 0.5s;
}
.face {
position: absolute;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.9);
border: 1px solid #ddd;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.2rem;
color: #fff;
}
.front { transform: translateZ(100px); }
.back { transform: rotateY(180deg) translateZ(100px); }
.left { transform: rotateY(-90deg) translateZ(100px); }
.right { transform: rotateY(90deg) translateZ(100px); }
.scene:hover .cube {
transform: rotateX(-45deg) rotateY(-45deg);
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.