webサイトを構築する際に、数多くの背景色や文字色を使用する場合、一覧表を作ってまとめておかないと、後々どれがどの色なのか混乱したり、RGBや16進表記では直感的に分かなかったりして、作業の手が止まってしまうことが多々あります。そんなとき、分かりやすい名称で変数として宣言しておけば、かなり効率良く使い回すことができます。
使い方:個々のエレメントで変数の宣言も可能ですが、多くのエレメントで使い回す場合は「:root 擬似クラス」による変数宣言が便利です。ただし、CSSの変数はまだ実験段階ですので、ブラウザごとの実装や仕様は定まっていません。このサンプルはFirefoxで動作を確認しています。
CSSソース(1)は、「:root 擬似クラス」により、2種類の背景色と2種類の文字色を宣言しています。CSSソース(2)で各エレメントに背景色や文字色を変数で指定しています。
- :root {
- --main-bg: #cfc;
- --main-bg2: #ccf;
- --main-color: #f00;
- --main-color2: #37d;
- }
- /* エレメント1 */
- .ele {
- background-color: var(--main-bg); /* 背景 薄い緑 */
- color: var(--main-color); /* 文字 赤 */
- }
- /* エレメント2 */
- .ele2 {
- background-color: var(--main-bg2); /* 背景 薄い紫 */
- color: var(--main-color2); /* 文字 青 */
- }
- /* エレメント3 */
- .ele3 {
- background-color: var(--main-bg2); /* 背景 薄い紫 */
- color: var(--main-color); /* 文字 赤 */
- }
- /* エレメント4 */
- .ele4 {
- background-color: var(--main-bg); /* 背景 薄い緑 */
- color: var(--main-color2); /* 文字 青 */
- }