JSFiddle - React, Tailwind, and code Playground

by Chun

HTML

<div class="tri">
  <div class="side">
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
  </div>
  <div class="side">
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
  </div>
  <div class="side">
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div class="ring"></div>
    <div...

CSS

body {
  background-color: #0F0F0F;
}

.tri {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
  width: 50px;
  height: 50px;
}
.tri .side {
  width: 50px;
  height: 50px;
  position: absolute;
  -webkit-transform-origin: center center;
          transform-origin: center center;
}
.tri .side:nth-child(1) {
  -webkit-transform: translateX(-100px);
          transform: translateX(-100px);
}
.tri .side:nth-child(2) {
  -webkit-transform: translateX(0px);
          transform: translateX(0px);
}
.tri .side:nth-child(3) {
  -webkit-transform: translateX(100px);
          transform: translateX(100px);
}
.tri .side:nth-child(2) {
  -webkit-transform: translateY(-150px);
          transform: translateY(-150px);
}
.tri .ring {
  width: 50px;
  height: 50px;
  position: absolute;
  background: white;
  -webkit-animation-name: rotate, cromatic;
          animation-name: rotate, cromatic;
  -webkit-animation-duration: 3s, 3s;
          animation-duration: 3s, 3s;
  -webkit-animation-timing-function: linear, linear;
          animation-timing-function: linear, linear;
  -webkit-animation-iteration-count: infinite, infinite;
          animation-iteration-count: infinite, infinite;
  opacity: 0.5;
  box-shadow: 0 0 30px black;
  border-radius: 20%;
}

.side:nth-child(1) .ring:nth-child(0) {
  margin: 0 0 0 0px;
  z-index: 0;
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}

.side:nth-child(1) .ring:nth-child(1) {
  margin: 0 0 0 6.66667px;
  z-index: 1;
  -webkit-animation-delay: 0.03333s;
          animation-delay: 0.03333s;
}

.side:nth-child(1) .ring:nth-child(2) {
  margin: 0 0 0 13.33333px;
  z-index: 2;
  -webkit-animation-delay: 0.06667s;
          animation-delay: 0.06667s;
}

.side:nth-child(1) .ring:nth-child(3) {
  margin: 0 0 0 20px;
  z-index: 3;
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}

.side:nth-child(1) .ring:nth-child(4) {
  margin: 0 0...