console
<div class="demo">
<div>
<div class="left">
left
</div>
<div class="right">
right
</div>
<div class="top">
top
</div>
<div class="bottom">
bottom
</div>
<div class="front">
front
</div>
<div class="back">
back
</div>
</div>
</div>
* {
padding: 0;
margin: 0;
}
.demo {
perspective: 1000px
}
.demo>div {
width: 200px;
height: 200px;
position: relative;
margin: 100px auto;
transform-style: preserve-3d;
animation: rotate 5s 0s linear infinite both;
}
.demo>div>div {
position: absolute;
width: 100%;
height: 100%;
box-sizing: border-box;
border: 1px solid #000;
text-align: center;
line-height: 200px;
font-size: 40px;
}
.left {
transform: translateX(-100px) rotateY(-90deg);
background-color:cyan;
box-shadow: 0 2px 2px cyan;
}
.right {
transform: translateX(100px) rotateY(90deg);
}
.top {
transform: translateY(-100px) rotateX(90deg);
}
.bottom {
transform: translateY(100px) rotateX(-90deg);
}
.back {
transform: translateZ(-100px) rotateY(180deg);
}
.front {
transform: translateZ(100px);
}
@keyframes rotate {
to {
transform: rotate3d(1, 1, 1, 360deg);
}
}