<main>
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>mkimq</div>
</main>
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  list-style: none;
}

body {
  background: #34495e;
}

main {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 200px;
  height: 200px;
  transform-style: preserve-3d;
  transform-origin: 50% 50% 50px;
  transform: translate(-50%, -50%) rotateY(0deg);
  transition: 2s;
}

main:hover {
  transform: translate(-50%, -50%) rotate3d(1, 1, 0, 180deg);
}

div {
  position: absolute;
  width: 200px;
  height: 200px;
  background: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 4em;
}

div:nth-child(1) {
  transform-origin: right;
  background: #1abc9c;
  transform-origin: bottom;
  transform: translateY(-200px) rotateX(-90deg);
  opacity: .8;
}

div:nth-child(2) {
  transform-origin: right;
  background: #27ae60;
  transform-origin: top;
  transform: translateY(200px) rotateX(90deg);
  opacity: .8;
}

div:nth-child(3) {
  transform-origin: bottom;
  background: #e67e22;
  transform-origin: right;
  transform: translateX(-200px) rotateY(90deg);
  opacity: .8;
}

div:nth-child(4) {
  transform-origin: top;
  background: #8e44ad;
  transform-origin: left;
  transform: translateX(200px) rotateY(-90deg);
  opacity: .8;
}

div:nth-child(5) {
  transform-origin: left bottom;
  background: #ecf0f1;
  opacity: .8;
}

div:nth-child(6) {
  transform-origin: left bottom;
  background: #ecf0f1;
  opacity: .5;
  transform: translateZ(200px);
}
Run Pen

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.