CSSは4桁や8桁の色指定も可能
CSSは16進数で指定する場合は3桁(#f00)や6桁(#ff0000)の指定しかできないと思っている人が多いが、実は4桁(#f00f)や8桁(#ff0000ff)の指定もできる。
以下の赤いテキストをデベロッパーツールで確認してほしい。
#f00fや#ff0000ffが赤になっていることが確認できるはずだ。
sample1
sample2
sample3
sample4
.sample1 {
color: #f00;
}
.sample2 {
color: #f00f;
}
.sample3 {
color: #ff0000;
}
.sample4 {
color: #ff0000ff;
}
4桁と8桁の色指定は不透明度を含む
color: #f00f; と color: #ff0000ff; が有効なのは4桁と8桁の色指定が不透明度(Alpha)を含むからだ。
#RGBAと#RRGGBBAAであり、それぞれ rgba(255, 0, 0, 1) と同じ。
つまり半透明の場合は#ff000080となり rgbaだとrgba(255, 0, 0, 0.5)と同じ。
example1
example2
.example1 {
color: rgba(255, 0, 0, 0.5);
}
.example2 {
color: #ff000080;
}
なぜ4桁と8桁の色指定は使用されないのか
現在CSSで4桁と8桁の色指定が使用されることはほとんどない。
理由はIE11で使用できないことが大きい。
IE11は2022年6月15日にサポート終了となるが、4桁と8桁は不透明度(Alpha)が16進数なのでわかりにくく、3桁、6桁以外に4桁、8桁が混在するとコードの可読性が低下するので今後も使用されることはないだろう。