JSFiddle - React, Tailwind, and code Playground

by HDL52

HTML

<div class="wavy">
  <span style="--i: 1">欢</span>
  <span style="--i: 2">迎</span>
  <span style="--i: 3">进</span>
  <span style="--i: 4">入</span>
  <span style="--i: 5">前</span>
  <span style="--i: 6">端</span>
  <span style="--i: 7">的</span>
  <span style="--i: 8">世</span>
  <span style="--i: 9">界</span>
</div>

CSS

body {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  background: #000;
}

.wavy {
  position: relative;
  -webkit-box-reflect: below 10px
    linear-gradient(transparent, rgba(0, 0, 0, 0.2));
}

.wavy span {
  position: relative;
  display: inline-block;
  color: #fff;
  font-size: 2em;
  animation: animate 1s ease-in-out infinite;
  animation-delay: calc(0.1s * var(--i));
}

@keyframes animate {
  0% {
    transform: translateY(0px);
  }
  20% {
    transform: translateY(-24px);
  }
  40%,
  100% {
    transform: translateY(0px);
  }
}

JavaScript

// https://juejin.cn/post/7283768998776733755