本文へスキップ

キネティック分割

見出しの単語が1つずつ下からスライドインしながらフェードイン。ボタンで何度でも再生。

プレビュー

クリック

操作クリック/タップで動きます。

仕様書

向く場面
  • ヒーロー見出しを単語ごとに立ち上げる
  • 3〜4 語の短いスローガン
  • 初回表示と再生ボタンで見せる登場演出
避ける場面
  • 長文・段落(単語数ぶん待たせる)
  • スクロールで何度も繰り返す装飾
構成要素
  • ステージ
  • 行(マスク)
  • 単語
  • 再生ボタン
持っている状態
  • 通常
  • ホバー
  • フォーカス
  • 無効
キーボード

Tab で「再生」へ、Enter/Space で再生。再生中はボタンが無効

支援技術

ボタンに aria-label「アニメーションを再生」。単語は常に DOM にあり読み上げ順は不変。focus-visible で輪郭。reduced-motion では動かさず全表示

動き

単語ごと 100ms+160ms×順で下 60% から 500ms、transform は (.22,1,.36,1)・opacity は ease。行のマスクから立ち上がる

デザインの要点

  • 各行を overflow: hidden のマスクにして、単語を下 60% から立ち上げる。マスク無しの上昇は「浮く」、マスクありは「現れる」
  • 遅延は 100ms+160ms×順番。3 語で最後が 420ms 後に動き出し、全体 1 秒以内に収まる
  • transform は (.22,1,.36,1) のオーバーシュート無し ease-out、opacity は ease と別カーブ。位置と濃さを同じカーブにすると硬い
  • 再生前に class を外して次フレームで付け直す。transition: none の既定に戻してから in を付けないと逆再生が見える

コード(コピーして使えます)

<div class="ks-wrap">
  <div class="ks-stage" id="ksStage">
    <div class="ks-line"><span class="ks-word" data-i="0">Make</span></div>
    <div class="ks-line"><span class="ks-word" data-i="1">it</span></div>
    <div class="ks-line"><span class="ks-word" data-i="2">Move.</span></div>
  </div>
  <button class="ks-btn" id="ksBtn" aria-label="アニメーションを再生">再生</button>
</div>

タグ

同じカテゴリ「テキスト・タイポ演出」のほかのパーツ

関連パーツ