CSSで2色だけのグラデーションを作ると、2色の中間RGB値が干渉して、色がくすむ現象(Color bleeding)が発生します。この単調で平板な変化を回避し、美しく滑らかな階調表現にするためには、中間に適切な『経由点(カラー・ストップ)』を補ってあげる必要があります。
1. 「オレンジから紫の単調な変化」→「夕焼け・マジックアワー。赤から紫へ移り変わるドラマチックな雰囲気」
始点 – 終点のみ:中間がくすんで平板な変化
中間の濁りを防ぐため、紫に向かって彩度を上げ、明度を少し下げて深みを出します。
始点 – 経由点 – 終点:滑らかで深みのある変化
.gradation-sunset {
background: linear-gradient(
to right,
hsla( 20, 100%, 65%, 1.0), /* オレンジ */
hsla( 330, 95%, 60%, 1.0), /* ピンク */
hsla( 220, 85%, 35%, 1.0) /* ディープブルー */
);
}HSLを使ったグラデーションは、linear-gradient() や radial-gradient() などのCSSグラデーション関数内で hsl() / hsla() を使って色を指定します。
HSLは色相・彩度・明度を直感的に変えられるので、色相を少しずつ変化させるグラデーションが作りやすいです。
2. パステル・ユニコーン(かわいい系)
経由点が無いとグラデーションと言うより濁りながら混ざる感じです。
始点 – 終点のみ
経由点を入れて、全体的に明度(L)を高く、彩度(S)を優しく抑えることで、色が喧嘩せず綺麗に混ざり合います。
始点 – 経由点 – 終点
.gradation-pastel {
background: linear-gradient(
to right,
hsla( 320, 70%, 85%, 1.0), /* ラベンダーピンク */
hsla( 200, 75%, 85%, 1.0), /* ミルキーブルー */
hsla( 150, 65%, 85%, 1.0) /* ミントグリーン */
);
}3.ネオン・サイバー(近未来・ビビッド)
始点と終点だけでは、普通のくすんだグラデーションです。
始点 – 終点のみ
経由点を入れると発光しているような鮮やかさになります。緑やシアンは人間の目で最も明るく見えるため、明度(L)を少し下げて調整するのがコツです。
始点 – 経由点 – 終点
.gradation-cyber {
background: linear-gradient(
to right,
hsla( 280, 100%, 60%, 1.0), /* ネオンパープル */
hsla( 185, 100%, 50%, 1.0), /* サイバーシアン */
hsla( 120, 100%, 45%, 1.0) /* エレクトリックグリーン */
);
}4.シトラス・フレッシュ(爽やか・元気)
始点 – 終点のみ
黄色から緑への変化は、色相(H)を動かすだけで比較的きれいに繋がりますが、黄色(H:60)の明度を一番高くするのが自然に見せるポイントです。
始点 – 経由点 – 終点
.gradation-cyber {
background: linear-gradient(
to right,
hsla( 90, 85%, 55%, 1.0), /* ライムグリーン */
hsla( 60, 90%, 65%, 1.0), /* レモンイエロー */
hsla( 35, 95%, 55%, 1.0) /* サニーオレンジ */
);
}HSL対応ツール:Color Checker