Как задать background-color для всего пункта (LI) в нумерованном списке (OL)?
Вот такой пример у меня окрашивает в красный только текст пункта, а его порядковый номер почему-то нет:
li.red_item {
background: red;
}
<ol>
<li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
</ol>
Хотелось бы, чтобы вся строка была одного цвета. Но не знаю, как это можно реализовать...
NEW: Ответы по кастомизации даны, но есть проблема: ломается выравнивание нумерации списка, то есть, такого уже нет, если не применять правила типа nth-child(-n+<9>). Замечу, что <9> это все 10^n - 1, где n -> infinity =)
NEWEST: По варианту от @Sevastopol', и объединения его варианта с JS кодом, число элементов списка уже практически приблизилось к 1 000 000, но, я так же постараюсь выполнить тестирование на максимальной конфигурации, которую я смогу найти, для более точного результата. Так же, постараюсь проверить это с другими вариантами решения.
Чистого HTML + CSS для абсолютно любого случая, без заранее указанного смещения, по видимости, нет. Однако, если оно существует, это действительно невероятно, для меня.
Спасибо Всем, кто принимал и принимает участие в этом вопросе, Ваши ответы и комментарии, это стремление к истине, которая, надеюсь, скоро будет определена.
Ответы (4 шт):
ol {
list-style: none;
counter-reset: my-counter;
padding-left: 10px;
}
ol li {
counter-increment: my-counter;
}
ol li::before {
content: counter(my-counter) ". ";
padding-left: 5px;
}
li.red_item {
background: red;
}
ol li.red_item::before {
background: red;
}
<ol>
<li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
</ol>
* {
margin: 0;
padding: 0;
}
li {
list-style-position: inside;
background: green;
}
li.red_item {
background: red;
}
li:nth-child(-n+99) {
padding: 0 0 0 8px;
background: blue;
}
li:nth-child(-n+9) {
padding: 0 0 0 16px;
background: orange;
}
<ol>
<li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
</ol>
p.p.p.s. а можно использовать такую конструкцию
var num = $("#list").find("li").length;
if (num > 9) {$("#list li").css('margin','0 0 0 27px');}
if (num > 99) {$("#list li").css('margin','0 0 0 35px');}
if (num > 999) {$("#list li").css('margin','0 0 0 45px');}
if (num > 9999) {$("#list li").css('margin','0 0 0 55px');}
if (num > 99999) {$("#list li").css('margin','0 0 0 65px');}
if (num > 999999) {$("#list li").css('margin','0 0 0 75px');}
if (num > 9999999) {$("#list li").css('margin','0 0 0 85px');}
if (num > 99999999) {$("#list li").css('margin','0 0 0 95px');}
if (num > 999999999) {$("#list li").css('margin','0 0 0 105px');
console.log(num);
}
* {
margin: 0;
padding: 0;
}
ol {
overflow: hidden;
margin: 0;
padding: 0;
}
li {
position: relative;
margin: 0 0 0 20px;
padding: 0;
}
li.red_item:before {
content: "";
display: block;
position: absolute;
top: 0;
left: -50%;
right: 0;
bottom: 0;
background: red;
z-index: -1;
width: 200%;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="list">
<ol>
<li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li><li>Coffee</li>
<li class="red_item">Tea</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
<li class="red_item">Milk</li>
<li>Milk</li>
<li>Milk</li>
<li>Milk</li>
</ol>
</div>
@Denis640Kb предложил использовать JS для решения данного вопроса. Несмотря на то, что я сильно надеюсь на то, что кто-то сможет предложить ответ на чистом стеке: HTML + CSS, я все же понимаю, что такой ответ не возможен, если только не генерировать стили со всеми вариантами nth-child или чем-то подобным, поэтому, основываясь на коде от @Denis640Kb (с его выравниванием), я добавил вычисления логарифма и длины строки (не знаю, насколько успешно будет это вычисление в разных версиях браузеров, ОС и т. д.) для определения смещения номера пункта списка.
НО! Only HTML & CSS still wanted :)
//
var canvas = document.createElement('canvas');
//
var context = canvas.getContext('2d');
//
function getTextWidth(text, font) {
//
context.font = font;
//
var metrics = context.measureText(text);
//
return metrics.width;
}
//
window.onload = function() {
//
placeholderText = '<ol>';
//
for (let i = 0; i < 105; i++) {
//
switch (i) {
//
case 0: {
//
placeholderText += '<li>Tea 1</li>';
//
break;
}
//
case 1: {
//
placeholderText += '<li class="red_item">Juice</li>';
//
break;
}
//
case 9: {
//
placeholderText += '<li>Coffee 10</li>';
//
break;
}
//
case 99: {
//
placeholderText += '<li>Compote 100</li>';
//
break;
}
//
default: {
//
placeholderText += '<li>Milk</li>';
//
break;
}
}
}
//
placeholderText += '</ol>';
//
document.querySelector('#test').innerHTML = placeholderText;
//
let listStyle = window.getComputedStyle(document.querySelector('#test').querySelector('LI'));
//
let listFontArr = [];
//
if (parseInt(listStyle.getPropertyValue('font-weight'), 10) >= 700)
//
listFontArr.push('bold');
//
if (listStyle.getPropertyValue('font-style') == 'italic')
//
listFontArr.push('italic');
//
listFontArr.push(listStyle.getPropertyValue('font-size'));
//
listFontArr.push(listStyle.getPropertyValue('font-family'));
//
let listFontData = listFontArr.join(' ');
//
let list = document.getElementsByTagName('li');
//
let lengthInLog10 = Math.log10(list.length) >> 0;
//
let listLength = list.length;
//
let indexInLog10Last = null;
//
let indexInLog10 = 0, diffByTwoLog10 = 0, indexInPow10 = 0, offsetLeft = 0;
//
for (let i = 0; i < listLength; i++) {
//
indexInLog10 = Math.log10(i + 1) >> 0;
//
if (indexInLog10Last != indexInLog10) {
//
indexInLog10Last = indexInLog10;
//
diffByTwoLog10 = lengthInLog10 - indexInLog10;
//
indexInPow10 = Math.pow(10, diffByTwoLog10);
//
offsetLeft = getTextWidth((indexInPow10) + '.', listFontData);
}
//
list[i].style.paddingLeft = offsetLeft + 'px';
}
}
li {
list-style-position: inside
}
li.red_item {
background: red;
}
<div id="test"></div>
