console
/* https://www.youtube.com/watch?v=RLwmmeHaPZI
<html lang="">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Systematic | Zero Collision CSS Animation Effects</title>
</head>
<body>
<div class="circle">
<div class="dots">
</div>
</div>
</body>
</html>
body {
margin: 0;
padding: 0;
background: #212121;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
}
.circle {
position: relative;
width: 100px;
height: 100px;
border-radius: 50%;
}
.circle:before {
content: "";
position: absolute;
top: 20px;
left: 20px;
right: 20px;
bottom: 20px;
border-radius: 50%;
box-shadow: 0 0 0 10px #343434,
0 0 0 20px #3b3b3b,
0 0 0 30px #484848,
0 0 0 40px #5a5a5a,
0 0 0 50px #343434,
inset 0 0 40px rgba(0,0,0,0.5);
}
.dots {
position: absolute;
top: 10px;
left: 10px;
right: 10px;
bottom: 10px;
border-radius: 50%;
animation: animate 10s linear infinite;
}
.dots:before {
content: "";
position: absolute;
width: 10px;
height: 10px;
background: #fff;
border-radius: 50%;
left: calc(50% - 5px);
top: 0;
box-shadow: 50px 0 0 #fff,
-65px -50px 0 #38f9d7,
-65px 50px 0 #fff,
-55px 0 0 #43e97b,
45px 35px 0 #43e97b,
40px -40px 0 #38f9d7,
40px -40px 0 #fff,
55px -59px 0 #43e97b;
}
.dots:after {
content: "";
position: absolute;
width: 10px;
height: 10px;
background: #fff;
border-radius: 50%;
left: calc(50% - 5px);
bottom: 0;
box-shadow: -50px 0 0 #fff,
65px -50px 0 #38f9d7,
65px -50px 0 #fff,
55px 0 0 #43e97b,
-45px -35px 0 #43e97b,
40px 40px 0 #38f9d7,
-40px 40px 0 #fff,
-55px -59px 0 #43e97b;
animation: animate 10s linear infinite;
}
@keyframes animate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}