JSFiddle - React, Tailwind, and code Playground
by Drath
HTML
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
<div class="particle"></div>
CSS
body {
background: #000;
}
@keyframes one {
0% {
transform: rotate(0deg) translate(-150px) rotate(0deg) scale(0);
opacity: 0;
}
90% {
transform: rotate(360deg) translate(-150px) rotate(-360deg) scale(1);
opacity: 1;
}
100% {
transform: rotate(360deg) translate(-150px) rotate(-360deg) scale(1);
opacity: 0;
}
}
.particle {
position: absolute;
animation: one 13s infinite ease-in-out;
width: 20px;
height: 20px;
border-radius: 20px;
box-shadow: 0 0 10px #fff, 0 0 20px #fff;
background-color: #fff;
}
JavaScript
$(".particle").each(function () {
$(this).css({
"top": Math.floor(Math.random() * 300 + 100)
});
$(this).css({
"left": Math.floor(Math.random() * 600 + 200)
});
var size = Math.floor(Math.random() * 7 + 2);
$(this).css({
"width": size
});
$(this).css({
"height": size
});
$(this).css({
"border-radius": size
});
var duration = Math.floor(Math.random() * 50 + 25);
$(this).css({
"animation-duration": duration + "s"
});
var delay = Math.floor(Math.random() * 50);
$(this).css({
"animation-delay": "-" + delay + "s"
});
});