ul li のリスト部分のみ色を変更する方法 2パターン
はじめに
リストタグul
li
は、設定しない場合は、リスト部分「・」とテキストが同じ色で表示されます。
リスト部分のみ色を変更したい場合、私は以下の目次にあるいずれかの方法で設定しています。
仕上がイメージ
リスト部分「・」を赤、テキストを青で表示させています。
- いちばんめ
- にばんめ
目次
spanでテキストの色を変更する方法
li
で色を設定した場合、リスト部分を含めテキスト全体がその色で表示されます。
この方法ではspan
で別の色を設定し、上書きして表示させるようなイメージになります。
html
- <ul class="test">
- <li><span>いちばんめ</span></li>
- <li><span>にばんめ</span></li>
- </ul>
CSS
- .test {
- list-style-position: inside;
- color: #ff0000;
- }
- .test span {
- color: #0000ff;
- }
できあがったもの
- いちばんめ
- にばんめ
リストを追加する度にspan
を書く必要があるので、更新の時に若干面倒かな、というのが印象です。
一方で、この方法の場合はol
を使用する場合でも数字部分のみの色変更も可能です。
疑似要素でリストの色を変更する方法
疑似要素:before
を使用してリスト部分の色を変更する方法です。
li
はlist-style:none;
とし、疑似要素でリスト部分の形と色を設定します。
html
- <ul class="test">
- <li>いちばんめ</li>
- <li>にばんめ</li>
- </ul>
CSS
- .test {
- list-style:none;
- }
- .test li {
- color: #0000ff;
- }
- .test li:before {
- content: '・';
- color: #ff0000;
- }
できあがったもの
- いちばんめ
- にばんめ
span
を使用しないので、htmlの追加・修正はやりやすいと思います。個人的にはちらの方が好みです。
一方で、いったんlist-style:none;
とする必要があるので、デフォルトのlist-style
は使用できす、疑似要素内のcontent:
でリスト部分を設定する必要があります。
また、ol
を使用する場合list-style:none;
が影響して数字部分が表示されないので、この方法は使えません。
ol
を使用した場合はol liの数字部分のみ色を変える方法 2パターンを参考にしてみてください。