Swirling dots
How do I make an swirling dots?
I finally got some time to make a personal project. This is a lot of fun to play with.Based on https://31.media.tumblr.com/2a8b60c9320e12a2ce3ff698c538d667/tumblr_n12hpntRPw1qax2qko1_500.gif. What is a swirling dots? How do you make a swirling dots? This script and codes were developed by Zach Saucier on 20 August 2022, Saturday.
Swirling dots - Script Codes HTML Codes
<!DOCTYPE html>
<html >
<head> <meta charset="UTF-8"> <title>Swirling dots</title> <style> /* NOTE: The styles were added inline because Prefixfree needs access to your styles and they must be inlined if they are on local disk! */ /* Number of elements (one less than in Haml) */
/* Animation duration in seconds */
/* Radius of a circle in percent */
/* The percent of the radius that each dot moves in an animation */
/* The keyframe at which the dots reach full size */
/* Max of total size scaled to in animation */
/* Divides dots into circles */
html, body { height: 100%; margin: 0;
}
body { background-color: black;
}
.container { position: relative; max-width: 100vh; max-height: 100%; margin: 0 auto; overflow: hidden;
}
.container:before { content: ""; display: block; margin-top: 100%;
}
.dot { width: 10%; height: 10%; position: absolute; left: 45%; top: 45%;
}
.dot .inner { width: 100%; height: 100%; animation: move 2s linear infinite;
}
.dot .inner::after { content: ''; display: block; width: 100%; height: 100%; border-radius: 50%; animation: scale 2s linear infinite;
}
.dot:nth-of-type(1) { transform: rotate(-25.71429deg);
}
.dot:nth-of-type(1) .inner { animation-delay: -0.03571s;
}
.dot:nth-of-type(1) .inner::after { animation-delay: -0.03571s;
}
.dot:nth-of-type(2) { transform: rotate(-51.42857deg);
}
.dot:nth-of-type(2) .inner { animation-delay: -0.07143s;
}
.dot:nth-of-type(2) .inner::after { animation-delay: -0.07143s;
}
.dot:nth-of-type(3) { transform: rotate(-77.14286deg);
}
.dot:nth-of-type(3) .inner { animation-delay: -0.10714s;
}
.dot:nth-of-type(3) .inner::after { animation-delay: -0.10714s;
}
.dot:nth-of-type(4) { transform: rotate(-102.85714deg);
}
.dot:nth-of-type(4) .inner { animation-delay: -0.14286s;
}
.dot:nth-of-type(4) .inner::after { animation-delay: -0.14286s;
}
.dot:nth-of-type(5) { transform: rotate(-128.57143deg);
}
.dot:nth-of-type(5) .inner { animation-delay: -0.17857s;
}
.dot:nth-of-type(5) .inner::after { animation-delay: -0.17857s;
}
.dot:nth-of-type(6) { transform: rotate(-154.28571deg);
}
.dot:nth-of-type(6) .inner { animation-delay: -0.21429s;
}
.dot:nth-of-type(6) .inner::after { animation-delay: -0.21429s;
}
.dot:nth-of-type(7) { transform: rotate(-180deg);
}
.dot:nth-of-type(7) .inner { animation-delay: -0.25s;
}
.dot:nth-of-type(7) .inner::after { animation-delay: -0.25s;
}
.dot:nth-of-type(8) { transform: rotate(-205.71429deg);
}
.dot:nth-of-type(8) .inner { animation-delay: -0.28571s;
}
.dot:nth-of-type(8) .inner::after { animation-delay: -0.28571s;
}
.dot:nth-of-type(9) { transform: rotate(-231.42857deg);
}
.dot:nth-of-type(9) .inner { animation-delay: -0.32143s;
}
.dot:nth-of-type(9) .inner::after { animation-delay: -0.32143s;
}
.dot:nth-of-type(10) { transform: rotate(-257.14286deg);
}
.dot:nth-of-type(10) .inner { animation-delay: -0.35714s;
}
.dot:nth-of-type(10) .inner::after { animation-delay: -0.35714s;
}
.dot:nth-of-type(11) { transform: rotate(-282.85714deg);
}
.dot:nth-of-type(11) .inner { animation-delay: -0.39286s;
}
.dot:nth-of-type(11) .inner::after { animation-delay: -0.39286s;
}
.dot:nth-of-type(12) { transform: rotate(-308.57143deg);
}
.dot:nth-of-type(12) .inner { animation-delay: -0.42857s;
}
.dot:nth-of-type(12) .inner::after { animation-delay: -0.42857s;
}
.dot:nth-of-type(13) { transform: rotate(-334.28571deg);
}
.dot:nth-of-type(13) .inner { animation-delay: -0.46429s;
}
.dot:nth-of-type(13) .inner::after { animation-delay: -0.46429s;
}
.dot:nth-of-type(14) { transform: rotate(-360deg);
}
.dot:nth-of-type(14) .inner { animation-delay: -0.5s;
}
.dot:nth-of-type(14) .inner::after { animation-delay: -0.5s;
}
.dot:nth-of-type(15) { transform: rotate(-385.71429deg);
}
.dot:nth-of-type(15) .inner { animation-delay: -0.53571s;
}
.dot:nth-of-type(15) .inner::after { animation-delay: -0.53571s;
}
.dot:nth-of-type(16) { transform: rotate(-411.42857deg);
}
.dot:nth-of-type(16) .inner { animation-delay: -0.57143s;
}
.dot:nth-of-type(16) .inner::after { animation-delay: -0.57143s;
}
.dot:nth-of-type(17) { transform: rotate(-437.14286deg);
}
.dot:nth-of-type(17) .inner { animation-delay: -0.60714s;
}
.dot:nth-of-type(17) .inner::after { animation-delay: -0.60714s;
}
.dot:nth-of-type(18) { transform: rotate(-462.85714deg);
}
.dot:nth-of-type(18) .inner { animation-delay: -0.64286s;
}
.dot:nth-of-type(18) .inner::after { animation-delay: -0.64286s;
}
.dot:nth-of-type(19) { transform: rotate(-488.57143deg);
}
.dot:nth-of-type(19) .inner { animation-delay: -0.67857s;
}
.dot:nth-of-type(19) .inner::after { animation-delay: -0.67857s;
}
.dot:nth-of-type(20) { transform: rotate(-514.28571deg);
}
.dot:nth-of-type(20) .inner { animation-delay: -0.71429s;
}
.dot:nth-of-type(20) .inner::after { animation-delay: -0.71429s;
}
.dot:nth-of-type(21) { transform: rotate(-540deg);
}
.dot:nth-of-type(21) .inner { animation-delay: -0.75s;
}
.dot:nth-of-type(21) .inner::after { animation-delay: -0.75s;
}
.dot:nth-of-type(22) { transform: rotate(-565.71429deg);
}
.dot:nth-of-type(22) .inner { animation-delay: -0.78571s;
}
.dot:nth-of-type(22) .inner::after { animation-delay: -0.78571s;
}
.dot:nth-of-type(23) { transform: rotate(-591.42857deg);
}
.dot:nth-of-type(23) .inner { animation-delay: -0.82143s;
}
.dot:nth-of-type(23) .inner::after { animation-delay: -0.82143s;
}
.dot:nth-of-type(24) { transform: rotate(-617.14286deg);
}
.dot:nth-of-type(24) .inner { animation-delay: -0.85714s;
}
.dot:nth-of-type(24) .inner::after { animation-delay: -0.85714s;
}
.dot:nth-of-type(25) { transform: rotate(-642.85714deg);
}
.dot:nth-of-type(25) .inner { animation-delay: -0.89286s;
}
.dot:nth-of-type(25) .inner::after { animation-delay: -0.89286s;
}
.dot:nth-of-type(26) { transform: rotate(-668.57143deg);
}
.dot:nth-of-type(26) .inner { animation-delay: -0.92857s;
}
.dot:nth-of-type(26) .inner::after { animation-delay: -0.92857s;
}
.dot:nth-of-type(27) { transform: rotate(-694.28571deg);
}
.dot:nth-of-type(27) .inner { animation-delay: -0.96429s;
}
.dot:nth-of-type(27) .inner::after { animation-delay: -0.96429s;
}
.dot:nth-of-type(28) { transform: rotate(-720deg);
}
.dot:nth-of-type(28) .inner { animation-delay: -1s;
}
.dot:nth-of-type(28) .inner::after { animation-delay: -1s;
}
.dot:nth-of-type(29) { transform: rotate(-745.71429deg);
}
.dot:nth-of-type(29) .inner { animation-delay: -1.03571s;
}
.dot:nth-of-type(29) .inner::after { animation-delay: -1.03571s;
}
.dot:nth-of-type(30) { transform: rotate(-771.42857deg);
}
.dot:nth-of-type(30) .inner { animation-delay: -1.07143s;
}
.dot:nth-of-type(30) .inner::after { animation-delay: -1.07143s;
}
.dot:nth-of-type(31) { transform: rotate(-797.14286deg);
}
.dot:nth-of-type(31) .inner { animation-delay: -1.10714s;
}
.dot:nth-of-type(31) .inner::after { animation-delay: -1.10714s;
}
.dot:nth-of-type(32) { transform: rotate(-822.85714deg);
}
.dot:nth-of-type(32) .inner { animation-delay: -1.14286s;
}
.dot:nth-of-type(32) .inner::after { animation-delay: -1.14286s;
}
.dot:nth-of-type(33) { transform: rotate(-848.57143deg);
}
.dot:nth-of-type(33) .inner { animation-delay: -1.17857s;
}
.dot:nth-of-type(33) .inner::after { animation-delay: -1.17857s;
}
.dot:nth-of-type(34) { transform: rotate(-874.28571deg);
}
.dot:nth-of-type(34) .inner { animation-delay: -1.21429s;
}
.dot:nth-of-type(34) .inner::after { animation-delay: -1.21429s;
}
.dot:nth-of-type(35) { transform: rotate(-900deg);
}
.dot:nth-of-type(35) .inner { animation-delay: -1.25s;
}
.dot:nth-of-type(35) .inner::after { animation-delay: -1.25s;
}
.dot:nth-of-type(36) { transform: rotate(-925.71429deg);
}
.dot:nth-of-type(36) .inner { animation-delay: -1.28571s;
}
.dot:nth-of-type(36) .inner::after { animation-delay: -1.28571s;
}
.dot:nth-of-type(37) { transform: rotate(-951.42857deg);
}
.dot:nth-of-type(37) .inner { animation-delay: -1.32143s;
}
.dot:nth-of-type(37) .inner::after { animation-delay: -1.32143s;
}
.dot:nth-of-type(38) { transform: rotate(-977.14286deg);
}
.dot:nth-of-type(38) .inner { animation-delay: -1.35714s;
}
.dot:nth-of-type(38) .inner::after { animation-delay: -1.35714s;
}
.dot:nth-of-type(39) { transform: rotate(-1002.85714deg);
}
.dot:nth-of-type(39) .inner { animation-delay: -1.39286s;
}
.dot:nth-of-type(39) .inner::after { animation-delay: -1.39286s;
}
.dot:nth-of-type(40) { transform: rotate(-1028.57143deg);
}
.dot:nth-of-type(40) .inner { animation-delay: -1.42857s;
}
.dot:nth-of-type(40) .inner::after { animation-delay: -1.42857s;
}
.dot:nth-of-type(41) { transform: rotate(-1054.28571deg);
}
.dot:nth-of-type(41) .inner { animation-delay: -1.46429s;
}
.dot:nth-of-type(41) .inner::after { animation-delay: -1.46429s;
}
.dot:nth-of-type(42) { transform: rotate(-1080deg);
}
.dot:nth-of-type(42) .inner { animation-delay: -1.5s;
}
.dot:nth-of-type(42) .inner::after { animation-delay: -1.5s;
}
.dot:nth-of-type(43) { transform: rotate(-1105.71429deg);
}
.dot:nth-of-type(43) .inner { animation-delay: -1.53571s;
}
.dot:nth-of-type(43) .inner::after { animation-delay: -1.53571s;
}
.dot:nth-of-type(44) { transform: rotate(-1131.42857deg);
}
.dot:nth-of-type(44) .inner { animation-delay: -1.57143s;
}
.dot:nth-of-type(44) .inner::after { animation-delay: -1.57143s;
}
.dot:nth-of-type(45) { transform: rotate(-1157.14286deg);
}
.dot:nth-of-type(45) .inner { animation-delay: -1.60714s;
}
.dot:nth-of-type(45) .inner::after { animation-delay: -1.60714s;
}
.dot:nth-of-type(46) { transform: rotate(-1182.85714deg);
}
.dot:nth-of-type(46) .inner { animation-delay: -1.64286s;
}
.dot:nth-of-type(46) .inner::after { animation-delay: -1.64286s;
}
.dot:nth-of-type(47) { transform: rotate(-1208.57143deg);
}
.dot:nth-of-type(47) .inner { animation-delay: -1.67857s;
}
.dot:nth-of-type(47) .inner::after { animation-delay: -1.67857s;
}
.dot:nth-of-type(48) { transform: rotate(-1234.28571deg);
}
.dot:nth-of-type(48) .inner { animation-delay: -1.71429s;
}
.dot:nth-of-type(48) .inner::after { animation-delay: -1.71429s;
}
.dot:nth-of-type(49) { transform: rotate(-1260deg);
}
.dot:nth-of-type(49) .inner { animation-delay: -1.75s;
}
.dot:nth-of-type(49) .inner::after { animation-delay: -1.75s;
}
.dot:nth-of-type(50) { transform: rotate(-1285.71429deg);
}
.dot:nth-of-type(50) .inner { animation-delay: -1.78571s;
}
.dot:nth-of-type(50) .inner::after { animation-delay: -1.78571s;
}
.dot:nth-of-type(51) { transform: rotate(-1311.42857deg);
}
.dot:nth-of-type(51) .inner { animation-delay: -1.82143s;
}
.dot:nth-of-type(51) .inner::after { animation-delay: -1.82143s;
}
.dot:nth-of-type(52) { transform: rotate(-1337.14286deg);
}
.dot:nth-of-type(52) .inner { animation-delay: -1.85714s;
}
.dot:nth-of-type(52) .inner::after { animation-delay: -1.85714s;
}
.dot:nth-of-type(53) { transform: rotate(-1362.85714deg);
}
.dot:nth-of-type(53) .inner { animation-delay: -1.89286s;
}
.dot:nth-of-type(53) .inner::after { animation-delay: -1.89286s;
}
.dot:nth-of-type(54) { transform: rotate(-1388.57143deg);
}
.dot:nth-of-type(54) .inner { animation-delay: -1.92857s;
}
.dot:nth-of-type(54) .inner::after { animation-delay: -1.92857s;
}
.dot:nth-of-type(55) { transform: rotate(-1414.28571deg);
}
.dot:nth-of-type(55) .inner { animation-delay: -1.96429s;
}
.dot:nth-of-type(55) .inner::after { animation-delay: -1.96429s;
}
@keyframes move { to { transform: translateX(300%); }
}
@keyframes scale { /* Scale */ 0%, 100% { transform: scale(0); } 70% { transform: scale(0.55); } /* Colors */ /* Offset to not stop transforms */ 0.001% { background: #e83030; } 10.001% { background: #e89f30; } 20.001% { background: #c3e830; } 30.001% { background: #55e830; } 40.001% { background: #30e87a; } 50.001% { background: #30e8e8; } 60.001% { background: #307ae8; } 70.001% { background: #5530e8; } 80.001% { background: #c330e8; } 90.001% { background: #e8309f; } 99.999% { background: #e83030; }
} </style> <script src="https://cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js"></script>
</head>
<body> <div class='container'> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div> <div class='dot'> <!-- .inner is necessary to allow rotation in addition to translate --> <div class='inner'></div> </div>
</div> <script src="js/index.js"></script>
</body>
</html>
Swirling dots - Script Codes CSS Codes
/* Number of elements (one less than in Haml) */
/* Animation duration in seconds */
/* Radius of a circle in percent */
/* The percent of the radius that each dot moves in an animation */
/* The keyframe at which the dots reach full size */
/* Max of total size scaled to in animation */
/* Divides dots into circles */
html, body { height: 100%; margin: 0;
}
body { background-color: black;
}
.container { position: relative; max-width: 100vh; max-height: 100%; margin: 0 auto; overflow: hidden;
}
.container:before { content: ""; display: block; margin-top: 100%;
}
.dot { width: 10%; height: 10%; position: absolute; left: 45%; top: 45%;
}
.dot .inner { width: 100%; height: 100%; animation: move 2s linear infinite;
}
.dot .inner::after { content: ''; display: block; width: 100%; height: 100%; border-radius: 50%; animation: scale 2s linear infinite;
}
.dot:nth-of-type(1) { transform: rotate(-25.71429deg);
}
.dot:nth-of-type(1) .inner { animation-delay: -0.03571s;
}
.dot:nth-of-type(1) .inner::after { animation-delay: -0.03571s;
}
.dot:nth-of-type(2) { transform: rotate(-51.42857deg);
}
.dot:nth-of-type(2) .inner { animation-delay: -0.07143s;
}
.dot:nth-of-type(2) .inner::after { animation-delay: -0.07143s;
}
.dot:nth-of-type(3) { transform: rotate(-77.14286deg);
}
.dot:nth-of-type(3) .inner { animation-delay: -0.10714s;
}
.dot:nth-of-type(3) .inner::after { animation-delay: -0.10714s;
}
.dot:nth-of-type(4) { transform: rotate(-102.85714deg);
}
.dot:nth-of-type(4) .inner { animation-delay: -0.14286s;
}
.dot:nth-of-type(4) .inner::after { animation-delay: -0.14286s;
}
.dot:nth-of-type(5) { transform: rotate(-128.57143deg);
}
.dot:nth-of-type(5) .inner { animation-delay: -0.17857s;
}
.dot:nth-of-type(5) .inner::after { animation-delay: -0.17857s;
}
.dot:nth-of-type(6) { transform: rotate(-154.28571deg);
}
.dot:nth-of-type(6) .inner { animation-delay: -0.21429s;
}
.dot:nth-of-type(6) .inner::after { animation-delay: -0.21429s;
}
.dot:nth-of-type(7) { transform: rotate(-180deg);
}
.dot:nth-of-type(7) .inner { animation-delay: -0.25s;
}
.dot:nth-of-type(7) .inner::after { animation-delay: -0.25s;
}
.dot:nth-of-type(8) { transform: rotate(-205.71429deg);
}
.dot:nth-of-type(8) .inner { animation-delay: -0.28571s;
}
.dot:nth-of-type(8) .inner::after { animation-delay: -0.28571s;
}
.dot:nth-of-type(9) { transform: rotate(-231.42857deg);
}
.dot:nth-of-type(9) .inner { animation-delay: -0.32143s;
}
.dot:nth-of-type(9) .inner::after { animation-delay: -0.32143s;
}
.dot:nth-of-type(10) { transform: rotate(-257.14286deg);
}
.dot:nth-of-type(10) .inner { animation-delay: -0.35714s;
}
.dot:nth-of-type(10) .inner::after { animation-delay: -0.35714s;
}
.dot:nth-of-type(11) { transform: rotate(-282.85714deg);
}
.dot:nth-of-type(11) .inner { animation-delay: -0.39286s;
}
.dot:nth-of-type(11) .inner::after { animation-delay: -0.39286s;
}
.dot:nth-of-type(12) { transform: rotate(-308.57143deg);
}
.dot:nth-of-type(12) .inner { animation-delay: -0.42857s;
}
.dot:nth-of-type(12) .inner::after { animation-delay: -0.42857s;
}
.dot:nth-of-type(13) { transform: rotate(-334.28571deg);
}
.dot:nth-of-type(13) .inner { animation-delay: -0.46429s;
}
.dot:nth-of-type(13) .inner::after { animation-delay: -0.46429s;
}
.dot:nth-of-type(14) { transform: rotate(-360deg);
}
.dot:nth-of-type(14) .inner { animation-delay: -0.5s;
}
.dot:nth-of-type(14) .inner::after { animation-delay: -0.5s;
}
.dot:nth-of-type(15) { transform: rotate(-385.71429deg);
}
.dot:nth-of-type(15) .inner { animation-delay: -0.53571s;
}
.dot:nth-of-type(15) .inner::after { animation-delay: -0.53571s;
}
.dot:nth-of-type(16) { transform: rotate(-411.42857deg);
}
.dot:nth-of-type(16) .inner { animation-delay: -0.57143s;
}
.dot:nth-of-type(16) .inner::after { animation-delay: -0.57143s;
}
.dot:nth-of-type(17) { transform: rotate(-437.14286deg);
}
.dot:nth-of-type(17) .inner { animation-delay: -0.60714s;
}
.dot:nth-of-type(17) .inner::after { animation-delay: -0.60714s;
}
.dot:nth-of-type(18) { transform: rotate(-462.85714deg);
}
.dot:nth-of-type(18) .inner { animation-delay: -0.64286s;
}
.dot:nth-of-type(18) .inner::after { animation-delay: -0.64286s;
}
.dot:nth-of-type(19) { transform: rotate(-488.57143deg);
}
.dot:nth-of-type(19) .inner { animation-delay: -0.67857s;
}
.dot:nth-of-type(19) .inner::after { animation-delay: -0.67857s;
}
.dot:nth-of-type(20) { transform: rotate(-514.28571deg);
}
.dot:nth-of-type(20) .inner { animation-delay: -0.71429s;
}
.dot:nth-of-type(20) .inner::after { animation-delay: -0.71429s;
}
.dot:nth-of-type(21) { transform: rotate(-540deg);
}
.dot:nth-of-type(21) .inner { animation-delay: -0.75s;
}
.dot:nth-of-type(21) .inner::after { animation-delay: -0.75s;
}
.dot:nth-of-type(22) { transform: rotate(-565.71429deg);
}
.dot:nth-of-type(22) .inner { animation-delay: -0.78571s;
}
.dot:nth-of-type(22) .inner::after { animation-delay: -0.78571s;
}
.dot:nth-of-type(23) { transform: rotate(-591.42857deg);
}
.dot:nth-of-type(23) .inner { animation-delay: -0.82143s;
}
.dot:nth-of-type(23) .inner::after { animation-delay: -0.82143s;
}
.dot:nth-of-type(24) { transform: rotate(-617.14286deg);
}
.dot:nth-of-type(24) .inner { animation-delay: -0.85714s;
}
.dot:nth-of-type(24) .inner::after { animation-delay: -0.85714s;
}
.dot:nth-of-type(25) { transform: rotate(-642.85714deg);
}
.dot:nth-of-type(25) .inner { animation-delay: -0.89286s;
}
.dot:nth-of-type(25) .inner::after { animation-delay: -0.89286s;
}
.dot:nth-of-type(26) { transform: rotate(-668.57143deg);
}
.dot:nth-of-type(26) .inner { animation-delay: -0.92857s;
}
.dot:nth-of-type(26) .inner::after { animation-delay: -0.92857s;
}
.dot:nth-of-type(27) { transform: rotate(-694.28571deg);
}
.dot:nth-of-type(27) .inner { animation-delay: -0.96429s;
}
.dot:nth-of-type(27) .inner::after { animation-delay: -0.96429s;
}
.dot:nth-of-type(28) { transform: rotate(-720deg);
}
.dot:nth-of-type(28) .inner { animation-delay: -1s;
}
.dot:nth-of-type(28) .inner::after { animation-delay: -1s;
}
.dot:nth-of-type(29) { transform: rotate(-745.71429deg);
}
.dot:nth-of-type(29) .inner { animation-delay: -1.03571s;
}
.dot:nth-of-type(29) .inner::after { animation-delay: -1.03571s;
}
.dot:nth-of-type(30) { transform: rotate(-771.42857deg);
}
.dot:nth-of-type(30) .inner { animation-delay: -1.07143s;
}
.dot:nth-of-type(30) .inner::after { animation-delay: -1.07143s;
}
.dot:nth-of-type(31) { transform: rotate(-797.14286deg);
}
.dot:nth-of-type(31) .inner { animation-delay: -1.10714s;
}
.dot:nth-of-type(31) .inner::after { animation-delay: -1.10714s;
}
.dot:nth-of-type(32) { transform: rotate(-822.85714deg);
}
.dot:nth-of-type(32) .inner { animation-delay: -1.14286s;
}
.dot:nth-of-type(32) .inner::after { animation-delay: -1.14286s;
}
.dot:nth-of-type(33) { transform: rotate(-848.57143deg);
}
.dot:nth-of-type(33) .inner { animation-delay: -1.17857s;
}
.dot:nth-of-type(33) .inner::after { animation-delay: -1.17857s;
}
.dot:nth-of-type(34) { transform: rotate(-874.28571deg);
}
.dot:nth-of-type(34) .inner { animation-delay: -1.21429s;
}
.dot:nth-of-type(34) .inner::after { animation-delay: -1.21429s;
}
.dot:nth-of-type(35) { transform: rotate(-900deg);
}
.dot:nth-of-type(35) .inner { animation-delay: -1.25s;
}
.dot:nth-of-type(35) .inner::after { animation-delay: -1.25s;
}
.dot:nth-of-type(36) { transform: rotate(-925.71429deg);
}
.dot:nth-of-type(36) .inner { animation-delay: -1.28571s;
}
.dot:nth-of-type(36) .inner::after { animation-delay: -1.28571s;
}
.dot:nth-of-type(37) { transform: rotate(-951.42857deg);
}
.dot:nth-of-type(37) .inner { animation-delay: -1.32143s;
}
.dot:nth-of-type(37) .inner::after { animation-delay: -1.32143s;
}
.dot:nth-of-type(38) { transform: rotate(-977.14286deg);
}
.dot:nth-of-type(38) .inner { animation-delay: -1.35714s;
}
.dot:nth-of-type(38) .inner::after { animation-delay: -1.35714s;
}
.dot:nth-of-type(39) { transform: rotate(-1002.85714deg);
}
.dot:nth-of-type(39) .inner { animation-delay: -1.39286s;
}
.dot:nth-of-type(39) .inner::after { animation-delay: -1.39286s;
}
.dot:nth-of-type(40) { transform: rotate(-1028.57143deg);
}
.dot:nth-of-type(40) .inner { animation-delay: -1.42857s;
}
.dot:nth-of-type(40) .inner::after { animation-delay: -1.42857s;
}
.dot:nth-of-type(41) { transform: rotate(-1054.28571deg);
}
.dot:nth-of-type(41) .inner { animation-delay: -1.46429s;
}
.dot:nth-of-type(41) .inner::after { animation-delay: -1.46429s;
}
.dot:nth-of-type(42) { transform: rotate(-1080deg);
}
.dot:nth-of-type(42) .inner { animation-delay: -1.5s;
}
.dot:nth-of-type(42) .inner::after { animation-delay: -1.5s;
}
.dot:nth-of-type(43) { transform: rotate(-1105.71429deg);
}
.dot:nth-of-type(43) .inner { animation-delay: -1.53571s;
}
.dot:nth-of-type(43) .inner::after { animation-delay: -1.53571s;
}
.dot:nth-of-type(44) { transform: rotate(-1131.42857deg);
}
.dot:nth-of-type(44) .inner { animation-delay: -1.57143s;
}
.dot:nth-of-type(44) .inner::after { animation-delay: -1.57143s;
}
.dot:nth-of-type(45) { transform: rotate(-1157.14286deg);
}
.dot:nth-of-type(45) .inner { animation-delay: -1.60714s;
}
.dot:nth-of-type(45) .inner::after { animation-delay: -1.60714s;
}
.dot:nth-of-type(46) { transform: rotate(-1182.85714deg);
}
.dot:nth-of-type(46) .inner { animation-delay: -1.64286s;
}
.dot:nth-of-type(46) .inner::after { animation-delay: -1.64286s;
}
.dot:nth-of-type(47) { transform: rotate(-1208.57143deg);
}
.dot:nth-of-type(47) .inner { animation-delay: -1.67857s;
}
.dot:nth-of-type(47) .inner::after { animation-delay: -1.67857s;
}
.dot:nth-of-type(48) { transform: rotate(-1234.28571deg);
}
.dot:nth-of-type(48) .inner { animation-delay: -1.71429s;
}
.dot:nth-of-type(48) .inner::after { animation-delay: -1.71429s;
}
.dot:nth-of-type(49) { transform: rotate(-1260deg);
}
.dot:nth-of-type(49) .inner { animation-delay: -1.75s;
}
.dot:nth-of-type(49) .inner::after { animation-delay: -1.75s;
}
.dot:nth-of-type(50) { transform: rotate(-1285.71429deg);
}
.dot:nth-of-type(50) .inner { animation-delay: -1.78571s;
}
.dot:nth-of-type(50) .inner::after { animation-delay: -1.78571s;
}
.dot:nth-of-type(51) { transform: rotate(-1311.42857deg);
}
.dot:nth-of-type(51) .inner { animation-delay: -1.82143s;
}
.dot:nth-of-type(51) .inner::after { animation-delay: -1.82143s;
}
.dot:nth-of-type(52) { transform: rotate(-1337.14286deg);
}
.dot:nth-of-type(52) .inner { animation-delay: -1.85714s;
}
.dot:nth-of-type(52) .inner::after { animation-delay: -1.85714s;
}
.dot:nth-of-type(53) { transform: rotate(-1362.85714deg);
}
.dot:nth-of-type(53) .inner { animation-delay: -1.89286s;
}
.dot:nth-of-type(53) .inner::after { animation-delay: -1.89286s;
}
.dot:nth-of-type(54) { transform: rotate(-1388.57143deg);
}
.dot:nth-of-type(54) .inner { animation-delay: -1.92857s;
}
.dot:nth-of-type(54) .inner::after { animation-delay: -1.92857s;
}
.dot:nth-of-type(55) { transform: rotate(-1414.28571deg);
}
.dot:nth-of-type(55) .inner { animation-delay: -1.96429s;
}
.dot:nth-of-type(55) .inner::after { animation-delay: -1.96429s;
}
@keyframes move { to { transform: translateX(300%); }
}
@keyframes scale { /* Scale */ 0%, 100% { transform: scale(0); } 70% { transform: scale(0.55); } /* Colors */ /* Offset to not stop transforms */ 0.001% { background: #e83030; } 10.001% { background: #e89f30; } 20.001% { background: #c3e830; } 30.001% { background: #55e830; } 40.001% { background: #30e87a; } 50.001% { background: #30e8e8; } 60.001% { background: #307ae8; } 70.001% { background: #5530e8; } 80.001% { background: #c330e8; } 90.001% { background: #e8309f; } 99.999% { background: #e83030; }
}
Swirling dots - Script Codes JS Codes
// For more check out zachsaucier.com
Developer | Zach Saucier |
Username | Zeaklous |
Uploaded | August 20, 2022 |
Rating | 4.5 |
Size | 6,415 Kb |
Views | 34,408 |
Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!
Name | Size |
Changing a CSS Animation at its Current Values | 3,781 Kb |
SVG border animation 2 | 3,307 Kb |
CSS Callback Functions Using Iteration | 2,720 Kb |
Simple CSS Circular Motion Technique | 2,093 Kb |
CSS-Only Full Page Slider | 4,161 Kb |
Circular Questionnaire | 5,141 Kb |
Simple, flat contact form | 2,719 Kb |
Reverse clip path with blend modes | 2,725 Kb |
Responsive CSS bars | 3,137 Kb |
Single element color loader | 2,603 Kb |
Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!
Name | Username | Size |
Ball physics | Blackkbot | 3,874 Kb |
TheCalendar.js | The-teacher | 6,330 Kb |
CodeCamp Tribute Page | JonathanDeJesus | 6,860 Kb |
CardMove | Thompsonemerson | 3,699 Kb |
A Pen by Brendan Skousen | Bskousen | 2,954 Kb |
Weather App | OmranAbazid | 2,596 Kb |
Animated Logo | Shakdaniel | 2,672 Kb |
Reviews and Ratings Star | Zbnmstry | 1,591 Kb |
TigerWoods Freecodecamp Page | Baileytj | 2,869 Kb |
A Pen by Alex Bergin | Abergin | 3,347 Kb |
Surf anonymously, prevent hackers from acquiring your IP address, send anonymous email, and encrypt your Internet connection. High speed, ultra secure, and easy to use. Instant setup. Hide Your IP Now!