「CSSの変数を試してみる」のその(2)です。その(1)はこちらです。
webページを作成時に、繰り返し処理のスタイルを替えるケースでは、子要素はまったく同じにしておき親要素や祖先要素のclass名だけを変更して対応することがよくあります。しかし、要素やスタイルの数が多くなると、メンテナンスのときに全体の把握に手間取ります。そこで変数を使って、値に分かりやすい名称を付けておきます。
サンプルは、背景色と文字色を変数宣言しておき、「div class="box"」内のすべてのspan要素に適用しています。そして子要素のdiv全体を複製し、一方にclass名"type2"を追加して変数の値を書き換えています。
<div class="box">
<div>
<ol>
<li>サンプルテキスト・<span>ここの背景</span>に色を付ける・サンプルテキスト</li>
<li>サンプルテキスト・サンプルテキスト・<span>ここの背景</span>に色を付ける・サンプルテキスト</li>
<li>サンプルテキスト・サンプルテキスト・サンプルテキスト・<span>ここの背景</span>に色を付ける・サンプルテキスト</li>
</ol>
</div>
<div class="type2">
<ol>
<li>サンプルテキスト・<span>ここの背景</span>に色を付ける・サンプルテキスト</li>
<li>サンプルテキスト・サンプルテキスト・<span>ここの背景</span>に色を付ける・サンプルテキスト</li>
<li>サンプルテキスト・サンプルテキスト・サンプルテキスト・<span>ここの背景</span>に色を付ける・サンプルテキスト</li>
</ol>
</div>
</div>
:root {
--bg-color: #cfc;
--txt-color: blue;
}
.box span {
background: var(--bg-color);
color: var(--txt-color);
}
.type2 span {
--bg-color: #ccf;
--txt-color: red;
}