RGBAとHSLA

CSS

今回は色についてです。CSSで指定するRGBAとHSLAについて理解を深めたいと思います。

CSSでの色指定

CSSで色を指定する場合、

#ADCDFA

あるいは

rgba(173, 205, 250, 1);

hsla(0,100%,50%,1);

といった表し方があります。

私はほとんど一番上の指定方法が使い慣れているので、

今回はRGBAやHSLAについて学び、色について理解を深めると同時に、

色選びや色指定をスムーズにさせていきたいと思います。

RGBAとは?

RGBAが表しているのはこうです。

R=red、G=green、B=black、A=alfa(透明度)

RGBはそのまま色の意味ですが、Aは透明度を表しています。

opacity: 0; これが透明で見えない状態

opacity: 1; これが不透明、つまり見えている状態

よくCSSでこういう表記を見たことはないでしょうか?

 background: rgba(173, 205, 250, 1);

こちらを表しているのが下のボタン1です。(ちなみにopacityが1の場合は省略可能です。)

そして、

background: rgba(173, 205, 250, 0.5); 

opacityつまり透明度を0.5にするとこうなります。

他にもopacityがよく使われるのが、ボタンにカーソルを合わせた時にちょっと色が薄くなる仕様です。

.btn:hover {
 opacity: 0.8;
}

といった具合です。

RGBAの値

さらにrgbaの最大数値は255、またはffと表します。最小数値は0です。

なので、rの数値だけマックスにして、gとbの値を0にすれば、

rgb(255, 0 0)

真っ赤です。

そして、255はffとも表すので、

赤:最大値ff、緑:最小値00、黒:最少値00なので、こう表せます。

#ff0000

さらに同じ文字が2つ続く場合は1つに縮めることができるので、赤は

#f00;

と表すことになります。

だから全部最大値の#ffffff→#fffは白、

全部最少値の#000000→#000が黒になるわけですね。

HSLAとは?

次に私にとって一番馴染みがないHSLAについてです。

HSLAは

HはHue(色相)、SはSaturation(彩度)、LはLightness(明度)、AはAlpha(透明度)を表しています。

色相は赤を0として360度で表します。

彩度はパーセントで指定し、0%は暗い色、100%が明るい色を表します。

明度も同様にパーセントで指定しますが、彩度と違う点は、

100%が白、50%が純度、0%だと黒になります。

透明度は0から1で指定し、RGBA同様1であれば省略可能です。

hsl(0,100%,50%);

あるいは

hsl(360,100%,50%);

こちらで、

真っ赤です。

HSLAのすごいところ

では、彩度を最大値(100%)、明度を純色(50%)にして色相だけ変えてみると、

background: hsl(0,100%,50%);
background: hsl(40,100%,50%);
background: hsl(80,100%,50%);
background: hsl(120,100%,50%);
background: hsl(160,100%,50%);
background: hsl(200,100%,50%);

こうなり、

今度は色相と彩度を固定値にして、明度だけ変えてみると、

background:hsl(220,50%,40%);
background: hsl(220,50%,50%);
background: hsl(220,50%,60%);
background: hsl(220,50%,70%);
background: hsl(220,50%,80%);
background: hsl(220,50%,90%);

となります。

これは便利ですね。

少し長くなったので、続きはまた次回に。

最後までお読みいただき、ありがとうございました。