hover
holographic sheen / holo foil card / iridescent glare
カードの上を虹色の薄膜がゆっくり流れ、カーソルの位置には白い照り返しが灯る、トレーディングカードのホロ箔の演出。帯の色を白ではなくシアンとピンクに振り、mix-blend-mode: screen で重ねるだけで「光る紙」から「箔押しの紙」に変わる。
02 — Prompt template
03 — Params
period(膜が流れる周期 s) — 範囲 2〜12 / 初期 5.5
5〜7sが箔らしい。3s以下だと光の帯(シャイン)に見え、10s超は動いていると気づかれない。angle(帯の角度 deg) — 範囲 45〜165 / 初期 115
105〜125degの斜めが定番。90degの真横は縞模様に見え、箔の「傾けた反射」感が消える。intensity(膜の濃さ opacity) — 範囲 0.1〜1 / 初期 0.6
0.4〜0.6が絵を殺さない上限。0.8を超えると下の絵柄が虹色に塗りつぶされる。glare(照り返しの半径 px) — 範囲 40〜240 / 初期 120
カード幅の半分前後(100〜140px)が自然。小さいとレーザーポインタ、大きいと全体が白む。
04 — Vocab
mix-blend-mode: screen — 下の色と重ねて明るくする合成。暗い部分はほぼ変わらず、明るい部分だけが光るので、絵柄を潰さずに箔の反射を足せる。
iridescence(玉虫色) — 見る角度で色が変わる薄膜の干渉色。白1色の光ではなくシアン→ピンクのように隣り合う色相を並べると再現できる。
glare(照り返し) — 光源が映り込んだ白い点。カーソル位置に置くと「カードを傾けて光を拾っている」手触りが生まれる。
background-size 260% — グラデーションを要素より大きく敷き、background-position の移動で膜を流す指定。帯が端で切れずに画面外から入って画面外へ抜ける。
CSS変数でのポインタ受け渡し — JSは --gx / --gy を書き換えるだけ、描画はCSSに任せる分担。React の state を経由しないので毎フレームの再レンダリングが起きない。
05 — NG → OK examples
NG
言い方: 「「カードをキラキラさせて、ホログラムっぽく」」
なぜNG: 「キラキラ」では膜か粒か光の帯かが決まらない。白い帯が一度走るだけのシャインや、hue-rotate で全体の色相がぐるぐる回る安っぽい実装、パーティクルの星が散る実装が返ってくる。
OK
言い方: 「「holographic sheenを実装。screen合成・opacity 0.6のオーバーレイに115degのシアン/ピンクのグラデーション、background-size 260%で5.5s linearに流す。::afterに半径120pxの照り返しを--gx/--gyで追従、reduced-motionは膜を止めて照り返しだけ残す」」
なぜOK: 色(白ではなく虹色の2色)・合成モード・流れる速度と、カーソル追従の照り返しという2層構造まで指定している。screen の一言で、下の絵柄を残したまま明るい部分だけが虹色に光る。
