「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; }