Trippy Animation
Trippy Animation
HTML
<div class="scene">
<div class="wrapper">
<ul id="holder" class="ball">
</ul>
</div>
</div>
<!-- View Source on this page:
http://kx.nu/Animation_Test/
-->
CSS
@-webkit-keyframes roundAndRound {
0% {
-webkit-transform: rotateY(0deg) rotateZ(0deg);
}
100% {
-webkit-transform: rotateY(360deg) rotateZ(360deg);
}
}
@-webkit-keyframes begin {
from {
-webkit-transform: rotateX(0deg) scale(0);
}
}
@keyframes roundandround {
0% {
transform: rotateY(0deg) rotateZ(0deg) rotateX(0deg);
}
100% {
transform: rotateY(360deg) rotateZ(360deg) rotateX(360deg);
}
}
@keyframes begin {
from {
transform: rotateX(0deg) scale(0);
}
}
html, body {
height: 100%;
overflow: hidden;
}
body { background-color: #000000; }
.scene {
position: relative;
width: 300px;
height: 300px;
margin: 0 auto;
-wekit-transform: translateY(-50%);
transform: translateY(-50%);
}
.wrapper {
width: 100%;
height: 100%;
-webkit-perspective: 10px;
perspective: 10px;
}
.ball {
position: relative;
width: 70%;
height: 70%;
margin: 0 auto;
list-style: none;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
-webkit-animation: roundAndRound 100s infinite linear;
animation: roundAndRound 100s infinite linear;
}
.ball .ring {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 30%;
border: 2px dashed;
opacity: 1;
-webkit-animation: begin;
animation: begin;
-webkit-animation-duration: 10s;
animation-duration: 10s;
}
JavaScript
for (var i = 0; i < 100; i++) {
var element = document.createElement('li');
element.className = 'ring';
element.style.color = "rgb(" + Math.floor((Math.random() * 200) + 100) + "," + Math.floor((Math.random() * 200) + 100) + "," + Math.floor((Math.random() * 200) + 100) + ")";
/* element.style.webkitTransform = "rotateX(" + (i * 6) + "deg) scale(" + (i / 100 + 0.05) + ")";
element.style.transform = "rotateX(" + (i * 6) + "deg) scale(" + (i / 100 + 0.05) + ")"; */
element.style.webkitAnimationDuration = (i / 10 + 2) + "s";
element.style.animationDuration = (i / 10 + 2) + "s";
var parent = document.getElementById('holder').appendChild(element);
}