JSFiddle - React, Tailwind, and code Playground

by apoucoz

HTML

<div id="wrap">
  <div id="stars">
    <div class="star">
      <div class="star-head"></div>
      <div class="star-trail"></div>
    </div>
    
    <div class="star">
      <div class="star-head"></div>
      <div class="star-trail"></div>
    </div>
    
    <div class="star">
      <div class="star-head"></div>
      <div class="star-trail"></div>
    </div>
    
    <div class="star">
      <div class="star-head"></div>
      <div class="star-trail"></div>
    </div>
    
    <div class="star">
      <div class="star-head"></div>
      <div class="star-trail"></div>
    </div>
    
    <div class="star">
      <div class="star-trail"></div>
    </div>
    
    <div class="star">
      <div class="star-trail"></div>
    </div>
    
    <div class="star">
      <div class="star-trail"></div>
    </div>
    
    <div class="star">
      <div class="star-trail"></div>
    </div>
    
    <div class="star">
      <div class="star-trail"></div>
    </div>
  </div>
</div>

CSS

html {
  height: 100%;
  width: 100%;
  overflow: hidden;
}

body {
  background: -webkit-linear-gradient(#FAB6AD, #FED1B9);
  background: linear-gradient(#FAB6AD, #FED1B9);
}

#wrap {
  width: 350px;
  margin: 100px auto;
}

#stars {
  position: absolute;
  z-index: 2;
  width: 100%;
}

.star-head {
  position: relative;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 9px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.star-trail {
  position: relative;
  width: 185px;
  height: 5px;
  margin-top: -73px;
  margin-left: -22px;
  background: -webkit-linear-gradient(140deg, rgba(0, 0, 0, 0), rgba(255, 255, 255, 0.3));
  background: linear-gradient(310deg, rgba(0, 0, 0, 0), rgba(255, 255, 255, 0.3));
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.star:first-of-type {
  margin-top: -350px;
  margin-left: 10%;
  -webkit-animation: shoot 1.5s linear infinite;
  animation: shoot 1.5s linear infinite;
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.star:nth-of-type(2) {
  margin-top: 10px;
  margin-left: 15%;
  -webkit-animation: shoot 2s linear infinite;
  animation: shoot 2s linear infinite;
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

.star:nth-of-type(3) {
  margin-top: 70px;
  margin-left: 20%;
  -webkit-animation: shoot 2s linear infinite;
  animation: shoot 2s linear infinite;
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.star:nth-of-type(4) {
  margin-top: 70px;
  margin-left: 25%;
  -webkit-animation: shoot 1.5s linear infinite;
  animation: shoot 1.5s linear infinite;
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.star:nth-of-type(5) {
  margin-top: -160px;
  margin-left: 30%;
  -webkit-animation: shoot 1s linear infinite;
  animation: shoot 1s linear infinite;
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

.star:nth-of-type(6) {
  margin-top: 60px;
 ...