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); }
}