デザインの様式を、動くデモ・効く理由・実装で踏んだ罠つきで解剖する図鑑。
様式名: ダーク・シネマティック / ヒーロー
「壊れた例」を押すと、この様式が成立しなくなる条件を実物で見られます。
| 対象 | 文字色 | 背景 | 実効背景 | 比 | 判定 |
|---|---|---|---|---|---|
| 見出し・淡い白(オーバーレイ後の実効地) | #e8ecf0 | #0b0f14 | #14181e | 15.00:1 | AA 合格 |
| サブテキスト(オーバーレイ後の実効地) | #9fb0c0 | #0b0f14 | #14181e | 8.01:1 | AA 合格 |
| 琥珀アクセント(オーバーレイ後の実効地) | #f0b429 | #0b0f14 | #14181e | 9.55:1 | AA 合格 |
| 壊れた例:白文字(オーバーレイ無し・地の最明部) | #ffffff | #6b7a86 | #6b7a86 | 4.42:1 | AA 合格だが写真では落ちる |
<!doctype html>
<html lang="ja"><head><meta charset="utf-8"><title>ダーク・シネマティック ヒーロー デモ</title><style>
*{box-sizing:border-box;margin:0;padding:0}
:root{
--fg:#e8ecf0; /* 淡い白。オーバーレイ後の暗い地で 15.00:1 */
--sub:#9fb0c0; /* サブ。8.01:1 */
--amber:#f0b429; /* 映画的アクセント。9.55:1 */
}
/* 写真の代わりに CSS で「映像的な地」を作る:奥行きのある濃紺グラデ+光の差し込み+霧。
単に黒にするのではなく、明暗の階調と光源で物語のトーンを出すのが成立条件 */
body{min-height:340px;position:relative;overflow:hidden;color:var(--fg);
font-family:"Georgia","Times New Roman",serif;
background:
radial-gradient(120% 90% at 78% 8%, #6b7a86 0%, #3a4650 26%, #1c2530 52%, #0d131a 100%),
#0b0f14;}
/* 霧・塵の層。低コントラストの装飾。写真の粒状感の代わり */
.fog{position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:screen;
background:radial-gradient(60% 40% at 70% 18%, rgba(180,200,220,.25), transparent 60%)}
.grain{position:absolute;inset:0;pointer-events:none;opacity:.05;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
/* ビネット:四隅を落として視線を中央へ。映画的な締まり */
.vignette{position:absolute;inset:0;pointer-events:none;
box-shadow:inset 0 0 160px 40px rgba(0,0,0,.75)}
/* 【最重要】文字とグラデ地の間に必ずオーバーレイを挟み、実効背景を暗く固定してから測る。
写真は均一な暗さではないので、これが無いと明るい箇所で白文字が消える */
.scrim{position:absolute;inset:0;pointer-events:none;
background:linear-gradient(to top, rgba(8,11,15,.92) 0%, rgba(8,11,15,.6) 38%, transparent 72%)}
.inner{position:absolute;left:0;right:0;bottom:0;padding:30px 32px;z-index:2}
.badge{display:inline-flex;align-items:center;gap:7px;font-family:system-ui,sans-serif;
font-size:10px;letter-spacing:.22em;color:var(--amber);font-weight:700;margin-bottom:14px}
.badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--amber);
box-shadow:0 0 8px var(--amber)}
h1{font-size:clamp(30px,7vw,58px);line-height:1.04;letter-spacing:.01em;font-weight:400;
text-shadow:0 2px 30px rgba(0,0,0,.6)}
.ja{margin-top:12px;font-family:system-ui,"Hiragino Kaku Gothic ProN",sans-serif;
font-weight:600;font-size:13px;color:var(--sub);max-width:26em;line-height:1.9}
.play{display:inline-flex;align-items:center;gap:10px;margin-top:18px;
font-family:system-ui,sans-serif;font-size:13px;font-weight:700;color:#0b0f14;
background:var(--fg);padding:11px 20px;border-radius:999px;text-decoration:none}
.play:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
</style></head><body>
<div class="fog"></div>
<div class="grain"></div>
<div class="vignette"></div>
<div class="scrim"></div>
<div class="inner">
<span class="badge">A FILM BY STUDIO NOX</span>
<h1>Into the<br>Quiet Dark</h1>
<p class="ja">光がほとんど無い場所で、はじめて見えるものがある。全編ロケーション撮影のドキュメンタリー。</p>
<a class="play" href="#">▶ 予告を見る</a>
</div>
</body></html>