text
wavy text / kinetic wave
文字が1字ずつsin波で上下に揺れ続けるキネティックタイポグラフィ。ロゴやマーキーの装飾に置くだけで画面に鼓動が生まれる。文字ごとの位相ずらしが波に見せる鍵。
02 — Prompt template
03 — Params
amplitude(振幅 px) — 範囲 2〜16 / 初期 6
4〜8pxが読みやすさを保てる上限。フォントサイズの1割前後が目安。speed(1周期 s) — 範囲 0.6〜4 / 初期 1.6
1.2〜2sがゆったり心地よい。1s未満はせわしなく、キッズ・遊び系の印象になる。
04 — Vocab
キネティックタイポグラフィ — 文字そのものを動かして印象を作る手法の総称。読ませる文字ではなく見せる文字に使う。
animation-delay(負の値) — 負の値を指定するとアニメーションの途中から始まる。文字ごとの位相ずらしの定石。
位相(phase) — 波のどの位置にいるか。文字ごとに少しずつずらすと、全体が1本のつながった波として流れる。
sin波 — 滑らかな往復運動。CSSならease-in-outの往復キーフレームで近似、JSならMath.sin(t)で正確に作れる。
05 — NG → OK examples
NG
言い方: 「「文字を波みたいに揺らして」」
なぜNG: 振幅も周期も決まらないうえ、位相のずらし方を指定しないと全文字が同時に上下するだけで波に見えない。marginやtopをアニメーションさせてガタつく実装が返ってくることもある。
OK
言い方: 「「wavy textをCSSキーフレームで。1文字ずつspan分割、translateYで振幅6px・周期1.6s・infinite、animation-delayを-i×(1.6÷文字数)sずらして波を流す。transformのみでリフロー禁止」」
なぜOK: 分割単位・振幅・周期・位相のずらし方まで数値で指定。「負のdelay」の指定で、再生開始の瞬間から波形が揃った状態になる。
