HSLとは?色相・彩度・明度で表すカラーコードの仕組み
HSLはHue(色相)・Saturation(彩度)・Lightness(明度)で色を表すCSSの色指定方法です。角度・%の読み方、RGB・HEXとの違い、補色、透明度、使いどころを解説します。
はじめて読む方へ|まず知っておきたい基本
この記事で出てくる基本用語を先に確認します。ここだけ押さえておけば、専門知識がなくても本文を読み進められます。
RGBはRed・Green・Blueの3つの光を組み合わせて色を表す方式です。一般的な8bit表現では各成分を0〜255で示します。
HEXは、Webでよく使う色の表記で、#RRGGBBの6桁でRGBの各成分を16進数で表します。たとえば #FF0000 は赤です。
HSLは色相(Hue)・彩度(Saturation)・明度(Lightness)でRGB色を表し直した形式です。色の方向や鮮やかさを直感的に確認しやすい表現です。
HSLは、色をHue(色相)・Saturation(彩度)・Lightness(明度)の3要素で表す方法です。CSSでは hsl() を使い、色相を角度、彩度と明度をパーセントで指定します。
hsl(210 80% 50%) なら、210°付近の青系・彩度80%・明度50%という意味です。HEXやRGBと同じくCSSでsRGB色を指定できますが、人が「色相・鮮やかさ・明るさ」を考えながら調整しやすいのが特徴です。
記事テーマを視覚的に理解するための色見本です。概念に固定の公式色がない場合は教材表示として扱います。
#3F6682#DDB04F#70A477#C96567#7862A1HSLとは?
HSLは Hue / Saturation / Lightness の略です。MDNでは hsl() をsRGB色空間の色を色相・彩度・明度で表す関数として説明しています。citeturn612865search6
| 要素 | 意味 | CSSでの範囲 |
|---|---|---|
| H | Hue|色相 | 角度。0°と360°は赤 |
| S | Saturation|彩度 | 0%=無彩色、100%=最大彩度 |
| L | Lightness|明度 | 0%=黒、50%=基準、100%=白 |
色相Hは0〜360°の色相環
CSSのHSLでは0°から赤が始まり、黄・緑・シアン・青・マゼンタを通って360°で再び赤へ戻ります。MDNもこの循環を説明しています。citeturn612865search10
- 0°:赤
- 60°:黄
- 120°:緑
- 180°:シアン
- 240°:青
- 300°:マゼンタ
彩度Sは鮮やかさの割合
0%では色相の違いが見えなくなりグレーになります。100%に近づくほど、そのHSLモデル内では鮮やかな色になります。ただし、HSLの彩度はCIELABやOKLChの彩度・クロマと同じ尺度ではありません。
明度Lは「知覚的な明るさ」そのものではない
HSLのLightnessは0%で黒、100%で白、50%で最も色みが出やすい値です。しかし、同じL=50%でも黄色と青が人間に同じ明るさに見えるわけではありません。HSLは編集しやすい表現であり、知覚均等な色空間ではありません。
名前はどちらもLightnessですが、計算方法と性質が異なります。色差や知覚的な比較にはLab・OKLab系の方が向く場面があります。
HSLとHEX・RGBの違い
| 方式 | 考え方 | 向く用途 |
|---|---|---|
| HEX | RGBを16進数で記述 | 固定色を短く書く |
| RGB | 赤・緑・青の強さ | 画面色・数値処理 |
| HSL | 色相・彩度・明度 | 色相や濃淡を調整 |
補色は色相を180°ずらす目安にできる
MDNではHSL色相環上の反対側を求める方法として、色相値に180°を足し引きする例を示しています。citeturn612865search6 ただし、補色だから必ず見やすい・美しいとは限りません。彩度・明度・面積比も調整が必要です。
透明度はスラッシュで指定できる
color: hsl(210 80% 50% / 0.5);
最後の値はアルファ値です。0が完全透明、1が完全不透明です。現在は hsla() も hsl() の別名として扱われ、MDNは hsl() の使用を案内しています。citeturn612865search6
HSLが便利な場面
- 同じ色相で明るい色・暗い色を作る
- 彩度だけを下げてくすませる
- テーマカラーから段階色を作る
- 色相を一定角度ずらして配色候補を作る
よくある質問
HSLのHは0〜360しか使えませんか?
色相は角度なので循環します。CSSでは角度単位や数値を扱え、360°と0°は同じ位置です。
HSLとHSVは同じですか?
違います。どちらも色相・彩度を持ちますが、HSLはLightness、HSVはValueを使い、計算と色の分布が異なります。
HSLの方がRGBより正確ですか?
同じsRGB色を別の座標で表しているため、単純にどちらが正確とは言えません。用途に合わせて使い分けます。







コメントを残す