【CSS】色の指定
プロパティ
色に関するプロパティには主に以下のようなものがあります。
プロパティ | 説明 |
---|---|
color | フォント色 |
background-color | 背景色 |
border-color | 境界色 |
outline-color | 輪郭色 |
box-shadow | 値の 1 つとして影の色を指定 |
色の値
色名
色の中にはred
のように名前がつかられているものがあり、プロパティ値として指定することができます。
.red { color: red; }
ただし、色名を覚えるのは大変なため、メジャーなもの以外はあまり使用しません。
RGB、RGBA
RGB は、赤(Red)、緑(Green)、青(Blue)の 3 つで色を表現します。それぞれ 0〜255 の値で表現します。 値が大きほど
.red { color: rgb(255, 0, 0); }
.green { color: rgb(0, 255, 0); }
.blue { color: rgb(0, 0, 255); }
.black { color: rgb(0, 0, 0); }
.white { color: rgb(255, 255, 255); }
RGBA は、RGB に透過度が加わります。透過度は 0.0〜1.0 の値で表現します。
.black10 { color: rgba(0, 0, 0, 1); } /* 通常黒 */
.black05 { color: rgba(0, 0, 0, 0.5); } /* 半透明 */
.black00 { color: rgba(0, 0, 0, 0); } /* 透明 */
HEX
HEX は、RGB の 0〜255 を 16 進数で 00〜FF に変換した表現方法です。先頭に#
をつけ#000000
のように指定します。
.red { color: #FF0000; }
.green { color: #00FF00; }
.blue { color: #0000FF; }
.black { color: #000000; }
.white { color: #FFFFFF; }
8 桁にすることで透過度を指定できます。
.black10 { color: #000000FF; } /* 通常黒 */
.black05 { color: #00000088; } /* 半透明 */
.black00 { color: #00000000; } /* 透明 */
HSL, HSLA
HSL は、色相(H)、彩度(S)、輝度(L)で色を表現します。
.red { color: hsl(0, 100%, 50%); }
.green { color: hsl(135, 100%, 50%); }
.blue { color: hsl(225, 100%, 50%); }
.black { color: hsl(0, 100%, 0%); }
.white { color: hsl(0, 100%, 100%); }
色相は、0〜360 でベースとなる色を決めます。以下のプレビューは上から下に向かって 0〜360 の値になっています。
彩度、輝度は 0%〜100%で指定し、それぞれ 100%、50%が基準値となります。値の変化による色は以下のプレビューを参考にしてください。
彩度(S) | ||||||
0% | 25% | 50% | 75% | 100%(★) | ||
輝度(L) | 0% | |||||
25% | ||||||
50%(★) | ||||||
75% | ||||||
100% |
HSLA は、RGBA と同じく透過度(0.0〜1.0)を指定します。
その他
transparent
transparent
は、透過度が 0、つまり透明な色として指定します。rgba(0, 0, 0, 0)
と同じ結果になります。
.color { color: transparent; }
currentcolor
currentcolor
は、要素のcolor
プロパティの値です。
<div style="color: red">
<p>aiueo</p>
<p style="background: currentcolor">aiueo</p>
</div>
aiueo
aiueo
linear-gradient()
linear-gradient()
は、グラデーションを指定するためのものです。
色と位置(%)の組み合わせで指定します。位置を指定しなかった場合は等間隔になります。
.gradation1 { background: linear-gradient(red, yellow, green, blue); }
.gradation2 { background: linear-gradient(red 0%, yellow 15%, green 75%, blue 100%); }
・gradation1
・gradation2
グラデーションの向きは、角度(deg
など)を指定することで変えられます。
また、0 度、90 度、180 度、270 度はそれぞれto top
、to right
、to bottom
、to left
のキーワードが用意されています。
デフォルトは180deg
です。
.gradation-top { background: linear-gradient(0deg, red, yellow, green, blue); }
.gradation-right { background: linear-gradient(to right, red, yellow, green, blue); }
.gradation-bottom-left { background: linear-gradient(315deg, red, yellow, green, blue); }
0deg | 45deg | 90deg | 135deg |
180deg(★) | 225deg | 270deg | 315deg |
opacity
opacity
は要素全体の透過度を表すプロパティです。0.0〜1.0 で指定します。
.opacity10 { opacity: 1.0; }
.opacity05 { opacity: 0.5; }
.opacity01 { opacity: 0.1; }