CSS グラデーション

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です