動くテキスト

下から一文字ずつ登場するテキストアニメーション

下から一文字ずつ登場するテキストアニメーションのCSS

See the Pen Untitled by チータツ (@cheese_fuji) on CodePen.

CSSの解説

  • アニメーションさせたい文字を1つずつspanで囲う
  • 親要素pにアニメーション用のクラスを付与する
  • spandisplay: blockにしてブロック要素に変更
  • spanが全て縦並びになってしまうので、親要素pdisplay: flexにして横並びに変更
  • spantransform: translateY(110%)で範囲より下に配置して、poverflow: hiddenを付与して範囲外の要素を非表示に
  • @keyframesでアニメーションを作成
    • 0%で初期位置translateY(110%)
    • 10%で上に登場translateY(0)
    • 全ての文字が上に揃うのを待つため、50%まで上で待機translateY(0)
    • 60%で再度下に隠れるtranslateY(110%)
    • 100%までそのまま範囲外(地面下)で待機translateY(110%)
  • span全てにアニメーションを適用するanimation: 3.5s updown-anim linear infinite;
  • 疑似要素:nth-child()を利用して、各spananimation-delayを等間隔でずらして指定する

応用CSS

表示範囲に入った時に現れるスクロールアニメーション

スクロールで登場するアニメーションです。jQueryを使ってスクロール位置を感知して、.activeのクラスを付与してアニメーションを行います。

アニメーションがループしないようにanimationプロパティからinfinite(ループ)を削除して、終了時(100%)の状態を維持するforwardsを指定。また、退場する必要はないので@keyframesも0・100%以外は削除して、animation-duration(アニメーションの周期)を短くしています。

See the Pen Untitled by チータツ (@cheese_fuji) on CodePen.

Rerunで再読み込みができます↑

おすすめの使い方

  • サイトロゴなど特別に強調したいフレーズ
  • @keyframesの挙動を出現だけにして、スクロールアニメーションに使う