<h1 class="fancy-wipe">
  <span class="text">
    Transference  
  </span>
  <span class="wipe-in">
    Transference  
  </span>
  <span class="blur-in">
    Transference  
  </span>
</h1>

<h1 class="fancy-wipe" style="--colors: linear-gradient(90deg, #4ec6f3, #e10fb4)">
  <span class="text">
    Serendipitous
  </span>
  <span class="wipe-in">
    Serendipitous 
  </span>
  <span class="blur-in">
    Serendipitous 
  </span>
</h1>

<h1 class="fancy-wipe" style="--colors: linear-gradient(
        90deg,
        rgba(255, 0, 0, 1) 0%,
        rgba(255, 154, 0, 1) 10%,
        rgba(208, 222, 33, 1) 20%,
        rgba(79, 220, 74, 1) 30%,
        rgba(63, 218, 216, 1) 40%,
        rgba(47, 201, 226, 1) 50%,
        rgba(28, 127, 238, 1) 60%,
        rgba(95, 21, 242, 1) 70%,
        rgba(186, 12, 248, 1) 80%,
        rgba(251, 7, 217, 1) 90%,
        rgba(255, 0, 0, 1) 100%
    );">
  <span class="text">
    Ostentatious
  </span>
  <span class="wipe-in">
    Ostentatious  
  </span>
  <span class="blur-in">
    Ostentatious  
  </span>
</h1>
html {
  width: 100%;
  height: 100%;
  background: #222;
  color: white;
}
body {
  font-family: Raleway, sans-serif;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

.fancy-wipe {
  margin: 0;
  font-weight: 900;
  font-size: 6rem;
  position: relative;
  --duration: 2.5s;
  --easing: cubic-bezier(0.45, 0, 0.55, 1);
  --colors: linear-gradient(
    90deg,
    #fff89a,
    #cdf2ca,
    #a2cdcd,
    #d1e8e4,
    #cab8ff,
    #ff7878,
    #ffc898
  );
}

.text {
  display: block;
  padding: 2rem;
  color: white;
  animation: wipe-in var(--duration) infinite var(--easing);
  mask: linear-gradient(to right, white, white 45%, black, 55%, black);
    mask-composite: exclude;
  mask-mode: luminance;
  mask-size: 300% 100%;
  mask-position: 100% 0px;
}

.wipe-in {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding: 2rem;
  background-image: var(--colors);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: wipe-in var(--duration) infinite var(--easing);
  mask: linear-gradient(to right, black, black 45%, white 50%, black 52.5%, black);
    mask-composite: exclude;
  mask-mode: luminance;
  mask-size: 300% 100%;
  mask-position: 100% 0px;
}

.blur-in {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding: 2rem;
  background-image: var(--colors);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: wipe-in var(--duration) infinite var(--easing);
  mask: linear-gradient(to right, black, black 45%, white 52.5%, black 55%, black);
    mask-composite: exclude;
  mask-mode: luminance;
  mask-size: 300% 100%;
  mask-position: 100% 0px;
  filter: blur(10px);
}

@keyframes wipe-in {
  100% {
    mask-position: 0px 0px;
  }
}
Run Pen

External CSS

  1. https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&amp;display=swap

External JavaScript

This Pen doesn't use any external JavaScript resources.