hover
focus dimming / hover to focus
リスト内の1つにホバーすると、それ以外がスッと沈んで注目が集まる演出。制作会社やスタジオの実績リストで定番。効くのは「沈ませ具合」で、消しすぎない加減が肝。
02 — Prompt template
03 — Params
dimOpacity(沈む側の不透明度) — 範囲 0.1〜0.7 / 初期 0.3
ホバーしていない側の濃さ。0.25〜0.4が上品。0.1まで下げると消えすぎて読めなくなる。dimBlur(沈む側のぼかし px) — 範囲 0〜4 / 初期 1
沈む側にかけるぼかし。0でも成立する。1〜2pxで奥に引く感じが出る。かけすぎると酔う。duration(切り替え時間 s) — 範囲 0.15〜0.8 / 初期 0.3
沈む/戻るの速さ。0.25〜0.4sが自然。速すぎるとチラつき、遅いと反応が鈍く感じる。
04 — Vocab
focus/dim(フォーカスとディミング) — 注目させたい1つをそのままに、残りを沈ませて相対的に主役を立てる考え方。照明のスポットに近い。
コンテナhover打ち消し — 親:hoverで全体を沈め、子:hoverでその子だけ打ち消す二段構え。JS無しでも『ホバー中の1つだけ明るい』が作れる。
filter: blur — 沈む側に軽くかけると奥行きが出る。ただし重い処理なので値は小さく、対象数が多い時は省く判断も。
非transform — opacity/filterだけで表現しレイアウトを動かさない。大きさや位置を変えないので行がガタつかず、長いリストでも安定する。
05 — NG → OK examples
NG
言い方: 「「リストにホバーしたら他を薄くして」」
なぜNG: 「薄く」がどこまでか決まらず、opacity 0 近くまで消して読めなくなったり、hoverした項目自身まで一緒に薄くなる実装が返ってくる。コンテナhoverと項目hoverの二段構えが要る、という発想が抜けやすい。
OK
言い方: 「「focus dimmingを。ul:hoverで全liをopacity 0.3+blur 1pxに沈め、li:hoverだけ打ち消して原寸に。0.3s ease、transformは使わない」」
なぜOK: 『コンテナhoverで沈め、項目hoverで打ち消す』という二段の仕組みと、沈み量・速度・非transformの制約まで指定。CSSだけで破綻なく組める形になっている。
