<div class="cube">
  <div>모름</div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
  <div></div>
</div>
body {
  background-color: #fff;
  height: 100vh;
  perspective: 1000px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cube {
  position: relative;
  width: 100px;
  height: 100px;
  transform-style: preserve-3d;
  transform: 
    rotateX(-20deg)
    rotateY(-140deg)
    translateZ(0);
  animation: rotate 8000ms linear infinite;
}

.cube div {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: 100px;
  opacity: 0.75;
  color: #fff;
}

.cube div:nth-child(1) {
  background-color: #ffbc80;
  transform-origin: center top;
  transform: rotateX(90deg) translateY(-100px);
  animation: top 4000ms ease-in-out 8000ms infinite;
}

.cube div:nth-child(2) {
  background-color: #ffbd42;
  transform-origin: center bottom;
  transform: rotateX(-90deg) translateY(100px);
  animation: bottom 4000ms ease-in-out 8000ms infinite;
}

.cube div:nth-child(3){
  background-color: #ffa726;
  transform-origin: left center;
  transform: rotateY(-90deg) translateX(-100px);
  animation: left 4000ms ease-in-out 8000ms infinite;
}

.cube div:nth-child(4){
  background-color: #ff9800;
  transform-origin: center right;
  transform: rotateY(90deg) translateX(100px);
  animation: right 4000ms ease-in-out 8000ms infinite;
}

.cube div:nth-child(5){
  background-color: #fb8c00
  transform-origin: center center;
  transform: rotateX(90deg) translateY(100px);
  animation: front 4000ms ease-in-out 8000ms infinite;
}

.cube div:nth-child(6) {
  background-color: #ffb74d;
  transform-origin: center center;
  transform: rotateY(180deg) translateZ(100px);
  animation: back 4000ms ease-in-out 8000ms infinite;
}

@keyframes rotate {
  0% {transform: rotateX(0) rotateY(0) rotateZ(0) translatez(0);}
    100% {transform: rotateX(360deg) roteteY(360deg) rotateZ(360deg) translatez(0);}
}

@keyframes top {
  0% {transform : rotatex(90deg) translatey(-100px) translatez(0)}
  50% {transform: rotatex(90deg) translatey(-100px) translatez(100px)}
  100% {transform: rotatex(90deg) translatey(-100px) translatez(0)}
}

@keyframes bottom {
  0% {transform: rotatex(-90deg) translatey(100px) translatez(0);}
  50% {transform: rotatex(-90deg) translatey(100px) translatez(100px);}
  100% {transform: rotatex(-90deg) translatey(100px) translatez(0);}
}

@keyframes left {
  0% {transform: rotatey(-90deg) translatex(-100px) scaley(1);}
  50% {transform: rotatey(-90deg) translatex(-100px) scaley(3);}
  100% {transform: rotatey(-90deg) translatex(-100px) scaley(1);}
}

@keyframes right {
  0% {transform: rotatey(90deg) translatex(100px) scaley(1);}
  50% {transform: rotatey(90deg) translatex(100px) scaley(3);}
  100% {transform: rotatey(90deg) translatex(100px) scaley(1);}
}

@keyframes front {
  0% {transform: rotatex(0deg) scaley(1);}
  50% {transform: rotatex(0deg) scaley(3);}
  100% {transform: rotatex(0deg) scaley(1);}
}

@keyframes back {
  0% {transform: rotatey(180deg) translatez(100px) scaley(1);}
  50% {transform: rotatey(180deg) translatez(100px) scaley(3);}
  100% {transform: rotatey(180deg) translatez(100px) scaley(1);}
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.