CSSでの色の指定方法
CSSにおいてフォント色、背景色等を設定する方法です。以下の方法があります
キーワードによる色指定
キーワードを利用して色を指定します。
キーワード | 説明 |
red | 赤 |
blue | 青 |
yellow | 黄 |
white | 白 |
black | 黒 |
transparent | (透明) ※CSS3以降 |
キーワードによる色指定の利用例
CSS
.sample1 {
background-color: red;
}
16進数による色指定
rgbカラーを16進数に置き換えた数値で色を指定します。16進数の前に#を付けます。
16進数値 | 説明 |
#FF0000 | 赤 |
#0000FF | 青 |
#FFFF00 | 黄 |
#FFFFFF | 白 |
#000000 | 黒 |
rgbカラーとは光の3原色であるr:red、g:green、b:blueの各色を0~255で数値化し3色の数値もとに各色を表現するものです。rgb(255,255,255)は白。rgb(0,0,0)は黒。rgb(255,0,0)は赤です。この256通りの数値(0~255)は16進数2桁で表現できます。16×16=256。これにより16進数の色表現では例えば赤の場合、# |FF | 00 | 00 のようにrgbを表現します。各rgbごと同じ数値の場合は1桁に省略できることになっており赤の場合#F00の3桁で表現することもできます。
16進数による色指定の利用例
CSS
.sample2 {
background-color: #FF0000;
}
rgbによる色指定
上記のようにrgbを16進数化せず、10進数で表記する方法です。16進数表記に比べてこちらの方が分かりやすいのですが、この表記方法はCSS3からの追加実装であり、互換性を考えCSS2以前でも対応できる16進数表記の方がまだ一般的ですが、今後新規でウェブサイトを構築する際は、16進数表記よりも色を直感的にイメージしやすいのでrgb表記を利用する機会が増えると思われます。
しかし本命はこのrgb表記ではなくさらに透明度を追加した以下のRGBA表記です。
rgb値 | 説明 |
rgb(255,0,0) | 赤 |
rgb(0,0,255) | 青 |
rgb(255,255,0) | 黄※緑はrgb(255,0,0,0) |
rgb(255,255,255) | 白 |
rgb(0,0,0) | 黒 |
rgbによる色指定の利用例
CSS
.sample3 {
background-color: rgb(255,0,0);
}
rgbaによる色・透明度指定
この色指定方法が今後の色指定方法のデファクトスタンダードになります。rgb表記にさらにもう一つパラメータを付けます。a(:alpha)は透明度です0~1で表現します。0が透明。1が不透明です。
要素の重なりの順番(前後)を表すz-indexと併せて利用することが多いです。
rgba値 | 説明 |
rgba( 赤(0~255), 緑(0~255), 青(0~255), アルファー値(0~1) ) |
rgbは色を光の3原色で表します。例えばrgba(255,255,255,1)は白、rgba(0,0,0,1)は黒です。 アルファー値は0が透明、1が不透明です。0.5、0.7というように小数点以下の設定が可能です。省略して.5、.7というように表記できます。 |
rgbaによる色・透明度指定の利用例
CSS
.sample4 {
background-color: rgba(255,0,0,.5);
}
上記の場合、赤の透明度50%を意味します。
hsl、hslaによる色・透明度指定
hslは色相、彩度、明度を元に色を指定する表記方法です。これもrgbと同じくCSS3からの追加実装です。色をイメージしにくいので、あまり利用されていません。
hslaSAはhslLにさらに透明度を追加したものです。rgbaと設定方法は同じです。
使いどころとしては、あえて言えば、アニメーションにおいて色相や彩度を変化させたい時くらいでしょうか。
hslaによる色・透明度指定の利用例
CSS
.sample5 {
background-color: hsla(0,100%,50%,.5);
}
opacityは利用に注意!
opacityは透明度を指定するプロパティです。0~1で表現します。0が透明。1が不透明です。主にキーワードや16進数による色指定と併せて利用されるCSS2以前をターゲットにしたプロパティです。
z-indexと併用した場合、透過を継承することができません。親要素で設定した透明度が子要素に継承される設定で、この設定を変えることが出来ません。つまり例えば親要素の透明度が.5(50%)だとして、その子要素を1(100%:不透明)に設定できないのです。0.6のように0.5以上(親要素と同じかさらに透明)であれば設定可能です。
opacityによる透明度指定
opacity値 | 説明 |
0~1 | 0が透明、1が不透明です。0.5、0.7というように小数点以下の設定が可能です。省略して.5、.7というように表記できます。親要素で設定した透明度が子要素に継承される仕様のため、それが許される場合に限って利用します。 |
backgroundプロパティ利用例
CSS
.sample6 {
background-color: #FF0000;
opacity:.5;
}