Я зашел так далеко:
Код: Выделить всё
body{
margin: 0;
height: 100vh;
display: grid;
place-items: center;
perspective: 1000px;
}
@keyframes rotate {
from{
transform: rotateY(0deg);
}
to{
transform: rotateY(90deg);
}
}
.container{
transform-style: preserve-3d;
transform: rotateX(-25deg) rotateY(45deg);
}
.cube{
width: var(--size);
height: var(--size);
position: relative;
transform-style: preserve-3d;
display: grid;
place-items: center;
& > .side{
position: absolute;
width: var(--size);
height: var(--size);
background-color: transparent;
box-sizing: border-box;
border: solid 10px black;
&:nth-of-type(1){
transform: translateZ(calc(var(--size) / 2));
}
&:nth-of-type(2){
transform: translateZ(calc(var(--size) / -2));
}
&:nth-of-type(3){
transform: rotateX(90deg) translateZ(calc(var(--size) / 2));
}
&:nth-of-type(4){
transform: rotateX(90deg) translateZ(calc(var(--size) / -2));
background-color: red;
}
&:nth-of-type(5){
transform: rotateY(90deg) translateZ(calc(var(--size) / 2));
}
&:nth-of-type(6){
transform: rotateY(90deg) translateZ(calc(var(--size) / -2));
}
}
&.main{
animation: rotate 1s infinite ease-in-out;
}
&:not(.main) > .side{
border: none;
background-color: black;
}
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... -animation
Мобильная версия