<section class="container">
  <div id="cube">
    <figure class="front">
      <p>1</p>
    </figure>
    <figure class="back">
      <p>2</p>
    </figure>
    <figure class="right">
      <p>3</p>
    </figure>
    <figure class="left">
      <p>4</p>
    </figure>
    <figure class="top">
      <p>5</p>
    </figure>
    <figure class="bottom">
      <p>6</p>
    </figure>
  </div>
</section>
html {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

body {
  background: #333;
}

.container {
  width: 500px;
  height: 500px;
  position: relative;
  perspective: 700px;
}

#cube {
  width: 100%;
  height: 100%;
  position: absolute;
  transform-style: preserve-3d;
  transform: translateZ( -100px);
  animation: rotate 15s infinite alternate;
}

#cube figure {
  font-family: sans-serif;
  color: hotpink;
  margin: 0;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  box-sizing: border-box;
  background: linen;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18em;
  backface-visibility: hidden;
}

#cube figure p {
  position: relative;
}

#cube .front {
  transform: rotateY( 0deg) translateZ( 250px);
}

#cube .back {
  transform: rotateX( 180deg) translateZ( 250px);
}

#cube .right {
  transform: rotateY( 90deg) translateZ( 250px);
}

#cube .left {
  transform: rotateY( -90deg) translateZ( 250px);
}

#cube .top {
  transform: rotateX( 90deg) translateZ( 250px);
}

#cube .bottom {
  transform: rotateX( -90deg) translateZ( 250px);
}

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

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.