SOURCE

console 命令行工具 X clear

                    
>
console
<div class='container container--realistic'>
  <div class='frame frame--realistic frame--ani'>
    <div class='door door--open door--ani'></div>
  </div>
</div>
.container {
  width: 200px;
  height: 200px;
  margin: 100px;
}
.frame {
  height: 100%;
  border: 25px solid red;
  border-bottom: 0 none;
}
.door {
  height: 100%;
  background-color: blue;
}
.container--realistic {
  perspective: 35em;
}
.frame--realistic {
  //perspective: 35em;
    transform-style: preserve-3d;
}
.door--open {
  transform-origin: 0 0;
  transform: rotateY(-45deg);
}

.door--ani {
  transform-origin: 0 0;
  animation: doorani 1.3s ease-in-out infinite alternate;
}
@keyframes doorani {
  from { transform: rotateY(-43deg); }
  to { transform: rotateY(43deg); }
}

.frame--ani {
  animation: frameani 2s ease-in-out infinite alternate;
}
@keyframes frameani {
  from { transform: rotateY(-30deg); }
  to { transform: rotateY(30deg); }
}