デザインの様式を、動くデモ・効く理由・実装で踏んだ罠つきで解剖する図鑑。
様式名: ネオブルータリズム / 背景・質感
「壊れた例」を押すと、この様式が成立しなくなる条件を実物で見られます。
| 対象 | 文字色 | 背景 | 実効背景 | 比 | 判定 |
|---|---|---|---|---|---|
| 見出し・本文(地の基準色) | #1c1c1e | #9a9a9f | #9a9a9f | 6.07:1 | AA 合格 |
| 見出し・本文(最暗部:描画結果から採取) | #1c1c1e | #9a9a9f | #8d8d92 | 5.15:1 | AA 合格 |
| 見出し・本文(最明部:描画結果から採取) | #1c1c1e | #9a9a9f | #a0a0a5 | 6.54:1 | AA 合格 |
| 修正前・本文(地の基準色) | #2c2c2e | #8e8e93 | #8e8e93 | 4.27:1 | 不合格 |
| 修正前・本文(最も暗いムラの上) | #2c2c2e | #8e8e93 | #77777b | 3.13:1 | 不合格 |
| スラブのボタン文字 | #f2f2f7 | #1c1c1e | #1c1c1e | 15.25:1 | AA 合格 |
<!doctype html>
<html lang="ja"><head><meta charset="utf-8"><title>打ち放しコンクリート地 デモ</title><style>
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,"Hiragino Kaku Gothic ProN",sans-serif;min-height:340px;position:relative;
/* ムラ:radial-gradient を複数重ねて「打ち放し」の斑を作る。
ムラは背景の明度を場所ごとに変える=コントラストも場所ごとに変わる。
地 #8e8e93・暗ムラ .16 で組んでいたが、最も暗い斑の上で本文が 3.13:1 まで落ちていた(実測)。
地を上げ、暗ムラを弱めて、最暗部でも 4.95:1 出るようにしている */
background:
radial-gradient(ellipse 60% 40% at 20% 15%, rgba(255,255,255,.10), transparent 60%),
radial-gradient(ellipse 50% 45% at 80% 70%, rgba(0,0,0,.10), transparent 62%),
radial-gradient(ellipse 40% 30% at 55% 40%, rgba(255,255,255,.06), transparent 58%),
#9a9a9f;
}
/* 粒:SVGノイズ。画像ファイル不要。
feTurbulence は RGB を独立に乱数化するので、そのままだと「色つきの粒」になる。
feColorMatrix saturate=0 を挟んで灰色の粒に落とす(これが無いと色被りが出る)。
baseFrequency は 0.8 だと粒が細かすぎて平均化され、opacity をいくら上げても
地が白茶けるだけで粒として見えなかった(実測)。0.35 まで下げて初めて粒が立つ */
body::before{
content:"";position:absolute;inset:0;pointer-events:none;
opacity:.16;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.35' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");
}
.inner{position:relative;padding:32px 28px}
.tag{display:inline-block;border:2px solid #1c1c1e;color:#1c1c1e;font-size:10px;
letter-spacing:.2em;padding:5px 12px;font-weight:700}
h2{margin-top:18px;font-size:clamp(28px,7vw,52px);font-weight:800;color:#1c1c1e;
line-height:1.12;letter-spacing:-.01em}
/* 和文の行長は em で取る(ch は半角基準。詳細は 02_oversized_type の実装メモ) */
/* 本文は見出しと同じ濃さまで落とす。#2c2c2e では最暗ムラの上で AA に届かない */
p{margin-top:14px;font-size:13px;line-height:1.9;color:#1c1c1e;max-width:30em}
.slab{margin-top:22px;background:#1c1c1e;color:#f2f2f7;display:inline-block;
padding:12px 22px;font-size:12px;font-weight:700;letter-spacing:.06em}
</style></head><body>
<div class="inner">
<span class="tag">BRUTALISM</span>
<h2>素材を、<br>そのまま見せる。</h2>
<p>塗り潰した灰色ではなく、ムラと粒で素材に見せる。画像は使っていない。すべてCSS。</p>
<div class="slab">VIEW WORKS →</div>
</div>
</body></html>