色
HSL色モデル
Hue · Saturation · Lightness
HSL色モデルとは、色を色相・彩度・明度という3つの軸に分けて扱い、人が色を思い浮かべる感覚に近づけた考え方です。
定義
HSLは、ひとつの色を色相(hue)、彩度(saturation)、明度(lightness)という3つの 軸に分けて扱う方法です。色相は赤・青・緑のように色の種類を0度から360度までの角度で 表し、彩度は色がどれだけ鮮やかか、つまりグレーからどれだけ離れているかを表します。 明度はどれだけ明るいか暗いかを表します。コンピュータが色を保存する基本の方式であるRGBが、 赤・緑・青の光の量を混ぜる機械寄りの言葉だとすれば、HSLは人が色を思い浮かべるやり方に ずっと近づけて整理した言葉だと考えるとわかりやすいです。
なぜ重要か
HSLが大切なのは、色を「調整」するのが直感的だからです。RGBで青を少し落ち着いた色に したいときは3つの値を同時に計算する必要がありますが、HSLなら彩度をひとつ下げるだけで 済みます。逆に同じ色をもっと明るくしたいなら明度だけを上げればよく、まったく別の色に 変えたいなら色相の角度だけを回せば済みます。このように軸がそれぞれ独立して動くので、 ねらった変化をひとつの軸の操作で正確につくれます。この予測しやすさは色を扱う自信に つながり、デザインが怖い開発者でも勘ではなくルールで色を決められるようになります。 だからデザインシステムで色を規則的に広げたり、複数の色のトーンをそろえたりするとき、 HSLはとても頼もしい基準になり、コードの中でも値の意味がそのまま読み取れて保守が ぐっと楽になります。
よくある間違い
- 明度だけを変えれば自動できれいな色の段階ができると期待してしまうケースです。実際には 彩度がそのまま残るので、とても明るいトーンが蛍光色のように浮いたり、暗いトーンが濁って 沈んだりします。明るさを変えるときは彩度も一緒に少しずつ調整してこそ、段階が均等で 自然につながります。
- HSLの明度が、人が感じる実際の明るさとぴったり一致すると思い込むことです。同じ明度50でも 黄色はまぶしいほど明るく感じられ、青はずっと暗く感じられます。色どうしがどれだけ対比する かを判断するときは、明度の数字だけを信じず、必ず目でも確かめる必要があります。
- 彩度を目いっぱい上げてこそ鮮やかで良い色だと考えることです。彩度が高すぎる色が画面を 埋め尽くすと目がすぐ疲れてしまい、本当に強調したい要素が埋もれてしまいます。
実務のヒント
- RGBより人が調整しやすいという点を積極的に活かしましょう。「彩度だけ下げて落ち着かせる」 「明度だけ上げて明るくする」のように、ねらった変化を軸ひとつの動きで整理すると、色を 扱う作業がずっと予測しやすくなり、チームのメンバーと意図を言葉で共有するのも簡単に なります。
- ブランドカラーの色相の角度を固定しておき、彩度と明度だけを調整していくつかの段階を つくってみましょう。色相がぶれなければ、明るいトーンから濃いトーンまでがひとつの家族の ように見えてまとまります。
- より繊細な明るさの制御が必要なら、人の目に合わせた最新の色モデルもあわせて検討しましょう。 HSLの限界を理解していれば、いつ別の道具に乗り換えるかを判断しやすくなります。
AIに頼む
下に貼り付けるブランドカラー [ブランドのメインカラー — 例: #3B82F6 または hsl(217 91% 60%)] をHSLに変換して、色相(hue)の角度はそのまま固定して、彩度・明度だけを調整して、明るいトーンから濃いトーンまで5〜6段階のカラースケールを作って。このとき明度だけを一定に下げるのではなく、ごく明るい段階は彩度も一緒に下げて蛍光色のように浮かないようにして、暗い段階は濁らないように彩度を微調整して。各段階をhsl()値と --color-500 のようなトークンで整理して、なぜその彩度・明度を選んだのか、一行ずつ根拠を添えて。
下に貼り付けるコードから、#hex や rgb() でハードコードされた色をすべて探して、hsl() 表記に変換して。色相は0〜360度の角度、彩度と明度は%で書いて、あとから「彩度だけ下げて落ち着かせる」「明度だけ上げて明るくする」のように軸を一つだけ動かして調整できるようにして。変換した色は意味が伝わる --color-* 変数として抜き出して、元の値 → hsl 変換値の対応表も一緒に出して。
下に貼り付ける色の中から、彩度を最大まで上げた色を探して、画面いっぱいに使ったときに目が疲れないよう、彩度を適度に下げたhsl()値に整えて。それから、明度の数値が同じでも黄色はまぶしいほど明るく、青はずっと暗く感じるから、HSLの明度値だけを信じてコントラストを判断せず、各色の組み合わせの実際のコントラストも合わせてチェックして。強調したい要素が埋もれないように、彩度の高い色は本当に強調が必要な場所だけに残して、残りはトーンを下げた理由と一緒に整理して。