loading
stagger grid loading / staggered grid reveal
ダッシュボードやギャラリーのカード群が、読み込み時に1枚ずつ時間差で点灯していく演出。遅延を(行+列)×staggerで計算すると光が左上から対角線に走り、一斉表示では出ない「画面が組み上がっていく」見せ場になる。
02 — Prompt template
03 — Params
stagger(1枚あたりの遅延 s) — 範囲 0.02〜0.2 / 初期 0.06
隣のカードとの時間差。0.04〜0.08sが目安。枚数が多い画面で0.1sを超えると最後のカードまで待たされる。duration(1枚の点灯時間 s) — 範囲 0.2〜1.2 / 初期 0.45
各カードのフェード時間。0.4〜0.6sが自然。staggerより十分長くすると前後のカードが重なって流れて見える。direction(点灯の進行方向) — 選択: diagonal / row / column(初期: diagonal)
遅延の計算式の切り替え。diagonalは(行+列)×staggerで、同じ和のカードが同時に点き光が対角線に走る。
04 — Vocab
スタッガー(stagger) — 複数要素を一定の時間差で順に動かすこと。一斉に動かすより1枚1枚の存在が目に入り、点数の多さがそのまま演出になる。
(row+col)遅延 — 行番号+列番号を遅延の係数にする計算。和が同じカードは同時に点灯するため、点灯の波が対角線として見える。
animation-delay — アニメーションの開始をずらすCSSプロパティ。全カードの開始時刻をCSSだけで制御でき、JSタイマーの乱発より正確で軽い。
fill-mode: backwards / both — delay中もキーフレームの開始状態(opacity 0)を適用させる指定。これがないと遅延待ちのカードが一瞬素の状態で見えてしまう。
05 — NG → OK examples
NG
言い方: 「「カードをパラパラっと順番に表示して」」
なぜNG: 「順番」の定義(何を基準に何秒ずつ遅らせるか)がないため、配列のindex×一定秒の単調な流れ方や、setTimeoutを枚数分発行する重い実装が返ってくる。グリッドで行×列を無視した順番は視線の流れと合わない。
OK
言い方: 「「stagger grid loadingを実装。各カードopacity 0→1とtranslateY 8px→0を0.45s ease-out、delay = (row + col) × 0.06sで左上から対角線に点灯。CSSのanimation-delay + fill-mode: bothで制御、reduced-motionでは即時表示」」
なぜOK: 遅延の計算式・方向・数値・CSSだけで完結する実装方式まで指定している。「(row+col)×stagger」の一言で光が対角線に走り、fill-mode指定がdelay中のチラ見えを防ぐ。
