JSFiddle - React, Tailwind, and code Playground
HTML
<div class="wrap">
<div class="circle"><p>@</p></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
</div>
CSS
* {
margin: 0;
padding: 0;
border: 0;
font-size: 0;
box-sizing: border-box;
}
.wrap {
display: block;
margin: 200px auto 100px auto;
width: 100px;
height: 100px;
animation-name: shape;
animation-duration: 2s;
animation-timing-function: linear;
animation-iteration-count: infinite;
}
@keyframes shape {
0% {transform: rotate(0deg);}
50% {transform: rotate(360deg);}
100% {transform: rotate(0deg);}
}
p {
display: block;
color: maroon;
width: 100px;
height: 100px;
font-size: 100px;
font-family: 'Verdana';
position: relative;
top: -20px;
left: -2.5px;
}
.circle {
width: 100px;
height: 100px;
border-radius: 50%;
border: 3px solid #000;
position: absolute;
}
.circle:nth-child(1) {
background: orange;
position: relative;
z-index: 1;
}
.circle:nth-child(2) {
background: red;
position: relative;
top: -100px;
left: 100px;
}
.circle:nth-child(3) {
background: green;
position: relative;
top: -150px;
left: 50px;
}
.circle:nth-child(4) {
background: yellow;
position: relative;
top: -200px;
}
.circle:nth-child(5) {
background: pink;
position: relative;
top: -350px;
right: 50px;
}
.circle:nth-child(6) {
background: lightblue;
position: relative;
top: -500px;
right: 100px;
}
.circle:nth-child(7) {
background: brown;
position: relative;
top: -650px;
left: 50px;
}
.circle:nth-child(8) {
background: olive;
position: relative;
top: -750px;
right: 50px;
}
.circle:nth-child(9) {
background: mediumturquoise;
position: relative;
top: -900px;
}
.circle:nth-child(10) {
background: crimson;
position: relative;
top: -950px;
left: 50px;
}