transition
CRT power-off / TV turn-off effect / screen collapse
ブラウン管の電源を落としたときのように、画面が数回明滅してから横一本の輝いた線につぶれ、最後に点になって消える終わり方。フェードアウトと違って「電源が落ちた」という因果が画に出るので、モーダルやページを閉じる操作に強い意味を持たせられる。
02 — Prompt template
03 — Params
duration(消え切るまでの時間 s) — 範囲 0.3〜1.4 / 初期 0.62
0.55〜0.75sが実機の感触に近い。0.4s以下だと線につぶれる過程が見えず単なる消滅になり、1sを超えると閉じる操作の待ち時間として長い。flash(つぶれる瞬間の輝度) — 範囲 1〜5 / 初期 3.5
brightness()の倍率。3〜4倍で「残った電子が中央に集まって光る」ブラウン管らしさが出る。1に近いとただの縦つぶれ、5に近いと白飛びして形が読めない。line(つぶれ切った線の高さ %) — 範囲 0.2〜6 / 初期 0.6
元の高さに対する割合。0.4〜1%で「線」に見える。3%を超えると帯のままで、線につぶれた印象にならない。flicker(つぶれる前の明滅回数) — 範囲 0〜4 / 初期 2
電圧が落ちる前のちらつき。2回が定番。0にすると即座につぶれる素直な動きになり、4回は故障・障害の演出寄りになる。
04 — Vocab
scaleY — 縦方向の拡縮。heightのアニメーションと違いレイアウト計算(リフロー)が走らないので、画面が線につぶれても周囲は動かない。
filter: brightness() — 要素の明るさの倍率。1が等倍で、それより大きくすると発光したように見える。つぶれる瞬間だけ跳ね上げるのがブラウン管らしさの正体。
transform-origin — 変形の基準点。centerでないと画面が上端や下端に吸い込まれ、中央に線が残るブラウン管の挙動にならない。
animation-iteration-count — アニメーションの繰り返し回数。明滅のような「N回だけ」の演出は、keyframesを回数分書かずにこれで制御する。
steps() — 変化を指定回数のコマに刻むイージング。電源の明滅を滑らかに補間すると、途端に電気の挙動に見えなくなる。
05 — NG → OK examples
NG
言い方: 「「閉じるときに昔のテレビみたいに消して」」
なぜNG: 「昔のテレビ」だけでは、走査線を重ねる質感演出と勘違いされたり、単なるフェードアウトに縮小を足しただけのものが返ってくる。つぶれ切る線の細さと輝度の跳ね上げが無いと、この動きは成立しない。
OK
言い方: 「「CRT power-offで閉じる。0.62sで、brightnessを2回明滅→scaleYで高さ0.6%まで潰しつつbrightness 3.5→scaleXで点にしてopacity 0。transform-origin center、transformのみでリフロー禁止、reduced-motionはフェードだけ」」
なぜOK: 3段の順番・各段の手段(scaleY / scaleX / brightness)・潰し切る値まで指定している。「transformのみ」の一言で、heightを縮めて周囲のレイアウトを動かす実装を防げる。
