92 lines
1.8 KiB
CSS
92 lines
1.8 KiB
CSS
body {
|
|
padding: 0;
|
|
margin: 0;
|
|
min-height: 500vh;
|
|
background-color: rgb(139, 201, 228);
|
|
animation: body 1s linear;
|
|
}
|
|
@keyframes body {
|
|
to {
|
|
background-color: rgb(19, 48, 97);
|
|
}
|
|
}
|
|
|
|
.progress {
|
|
height: 3px;
|
|
width: 0%;
|
|
background-color: #fff;
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
animation: progress 1s linear;
|
|
}
|
|
@keyframes progress {
|
|
to {
|
|
background-color: rgb(20, 255, 226);
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
.cube-wrap {
|
|
--size: 30vmin;
|
|
position: fixed;
|
|
top: 50%;
|
|
left: 50%;
|
|
width: 0;
|
|
height: 0;
|
|
perspective: 100vmin;
|
|
}
|
|
.cube {
|
|
transform-style: preserve-3d;
|
|
transform: rotateX(0deg) rotateZ(45deg) rotateY(-45deg);
|
|
animation: cube 1s linear;
|
|
}
|
|
@keyframes cube {
|
|
to {
|
|
transform: rotateX(360deg) rotateZ(45deg) rotateY(-45deg);
|
|
}
|
|
}
|
|
|
|
.side {
|
|
position: absolute;
|
|
width: var(--size);
|
|
height: var(--size);
|
|
background-color: #eee;
|
|
backface-visibility: visible;
|
|
top: calc(var(--size) * -.5);
|
|
left: calc(var(--size) * -.5);
|
|
}
|
|
.top {
|
|
background-color: #fff;
|
|
transform: rotateX(90deg) translateZ(calc(var(--size) * .5));
|
|
}
|
|
.bottom {
|
|
background-color: #999;
|
|
transform: rotateX(90deg) translateZ(calc(var(--size) * -.5));
|
|
}
|
|
.left {
|
|
background-color: #ccc;
|
|
transform: rotateY(90deg) translateZ(calc(var(--size) * .5));
|
|
}
|
|
.right {
|
|
background-color: #ddd;
|
|
transform: rotateY(90deg) translateZ(calc(var(--size) * -.5));
|
|
}
|
|
.front {
|
|
background-color: #aaa;
|
|
transform: translateZ(calc(var(--size) * .5));
|
|
}
|
|
.back {
|
|
background-color: #bbb;
|
|
transform: translateZ(calc(var(--size) * -.5));
|
|
}
|
|
|
|
:root * {
|
|
/* Pause the animation */
|
|
animation-play-state: paused;
|
|
/* Bind the animation to scroll */
|
|
animation-delay: calc(var(--scroll) * -1s);
|
|
/* These last 2 properites clean up overshoot weirdness */
|
|
animation-iteration-count: 1;
|
|
animation-fill-mode: both;
|
|
} |