Как покрасить только номера списка на CSS?
Я хочу покрасить только номера пунктов, но краситься все через CSS, подскажите пожалуйста оператор.
li {
color: orange;
}
<div class="mainbox">
<ol class="list">
<li>Text#1</li>
<li>Text#2</li>
<li>Text#3</li>
</ol>
</div>
Ответы (3 шт):
Автор решения: Air
→ Ссылка
li {
color: orange;
}
li span {
color: black;
}
<div class="mainbox">
<ol class="list">
<li><span>Text#1</span></li>
<li><span>Text#2</span></li>
<li><span>Text#3</span></li>
</ol>
</div>
Автор решения: Get-Web
→ Ссылка
Если разметку нельзя менять, то можно использовать counter-increment на псевдоэлементе, который можно стилизовать как угодно
ol {
list-style: none;
counter-reset: i;
}
ol li {
counter-increment: i;
}
ol li:before {
content: counter(i) ".";
color: red;
}
<div class="mainbox">
<ol class="list">
<li>Text#1</li>
<li>Text#2</li>
<li>Text#3</li>
</ol>
</div>
ol {
list-style: none;
counter-reset: i;
}
ol li {
counter-increment: i;
font-size: 30px;
padding: 5px 10px;
}
ol li:nth-child(even) {
background-color: #ccc;
}
ol li:before {
content: counter(i) ".";
display: inline-block;
background-color: #fff;
color: red;
width: 40px;
height: 40px;
font-weight: bold;
border: 2px solid red;
border-radius: 50%;
text-align: center;
line-height: 40px;
margin-right: 20px;
}
<ol>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
<li>item</li>
</ol>
Автор решения: UModeL
→ Ссылка
Для выделения маркеров списков ввели новый псевдоэлемент - ::marker:
li {
color: orange;
}
li::marker {
color: red;
font: bold 24px 'Mistral', cursive;
}
li:hover::marker {
color: blue;
}
<div class="mainbox">
<ol class="list">
<li>Text#1</li>
<li>Text#2</li>
<li>Text#3</li>
</ol>
</div>
Перед использованием, убедитесь, что нужные браузеры уже поддерживают этот псевдоэлемент.
.mainbox { display: flex; }
li {
color: orange;
}
.boom li::marker { color: red; font: bold 12px 'Courier', monospace; }
.list li::marker { color: green; font: bold 24px 'Mistral', cursive; }
.yeah li::marker { color: violet; font: bold 28px 'Arial', sans-serif; }
.boom li:hover::marker { color: black; }
.list li:hover::marker { color: blue; }
.yeah li:hover::marker { color: yellow; }
<div class="mainbox">
<ol class="boom">
<li>Text#1</li>
<li>Text#2</li>
<li>Text#3</li>
</ol>
<ol class="list">
<li>Text#1</li>
<li>Text#2</li>
<li>Text#3</li>
</ol>
<ol class="yeah">
<li>Text#1</li>
<li>Text#2</li>
<li>Text#3</li>
</ol>
</div>