テキストを一文字ずつフェードインさせる

Ads

Result


デモでは繰り返しアニメーションしtれいますが、タイトル通りフェードインのみとするならkeyframesで80%以降がフェードアウト設定になっているので調整します。また、animation-fill-modeをforwardsにしてkeyframesの100%時の挙動で止められます。

css

span {/*各テキストにanimationを設定*/
  color: transparent;/*テキストを透明にしてtext-shadowだけ表示する*/
  animation: blur 10s ease-out infinite;
}
 
span:nth-child(1) {/*一文字ずつ遅延させる*/
  animation-delay: 0.1s;
}
span:nth-child(2) {
  animation-delay: 0.2s;
}
span:nth-child(3) {
  animation-delay: 0.3s;
}
span:nth-child(4) {
  animation-delay: 0.4s;
}
span:nth-child(5) {
  animation-delay: 0.5s;
}
span:nth-child(6) {
  animation-delay: 0.6s;
}
span:nth-child(7) {
  animation-delay: 0.7s;
}
 
@keyframes blur {/*opacityとtext-shadow+animationでフェードインを表現する*/
  0%    {text-shadow0 0 100px #fff; opacity:0;}
  5%    {text-shadow0 0 90px #fff;}
  15%    {opacity: 1;}
  20%    {text-shadow0 0 0px #fff;}
  80%    {text-shadow0 0 0px #fff;}
  85%    {opacity: 1;}
  95%    {text-shadow0 0 90px #fff;}
  100%  {text-shadow0 0 100px #fff; opacity:0;}
}

html

<p>
  <span>か</span>
  <span>ち</span>
  <span>び</span>
  <span>と</span>
  <span>.n</span>
  <span>e</span>
  <span>t</span>
 </p>

via

Text blurring animation