как сделать список с 1 через before? мой в before начинается с 2
.description_title {
padding-left: 30px;
max-width: 216px;
position: relative;
}
.description_title::before {
content: counter(li);
counter-increment: li;
display: block;
position: absolute;
width: 24px;
height: 24px;
border-radius: 50%;
left: 0px;
background: rgb(53, 175, 244);
text-align: center;
}
ul,
ol {
counter-increment: li;
li {
list-style-type: none;
margin-bottom: 0.5rem;
}
}
<ol class="description ">
<li class="description_title">
<h6 class="title">item</h6>
<p>item</p>
</li>
<li class="description_title ">
<h6 class="title">item</h6>
<p>item</p>
</li>
<li class="description_title ">
<h6 class="title">item</h6>
<p>item</p>
</li>
</ol>
Ответы (2 шт):
Автор решения: Oliver Patterson
→ Ссылка
Это происходит потому, что вы для ul
и ol
делаете инкримент counter-increment: li;
, его нужно делать только для li
. А вот для ul
и ol
вам нужно делать counter-reset: li;
.
.description_title {
padding-left: 30px;
max-width: 216px;
position: relative;
}
.description_title::before {
content: counter(li);
counter-increment: li;
display: block;
position: absolute;
width: 24px;
height: 24px;
border-radius: 50%;
left: 0px;
background: rgb(53, 175, 244);
text-align: center;
}
ul,
ol {
counter-reset: li;
li {
list-style-type: none;
margin-bottom: 0.5rem;
}
}
<ol class="description ">
<li class="description_title">
<h6 class="title">item</h6>
<p>item</p>
</li>
<li class="description_title ">
<h6 class="title">item</h6>
<p>item</p>
</li>
<li class="description_title ">
<h6 class="title">item</h6>
<p>item</p>
</li>
</ol>
Автор решения: BlackStar1991
→ Ссылка
Проблема здесь связана с тем, что вы используете counter-increment: li
; как глобальный счетчик для всех элементов списка (ul
и ol
). Это приводит к тому, что счетчик начинается с 2, потому что он инкрементируется для каждого элемента списка.
Проще говоря - вы используете системные названия для переменной, не сбросив её.
Что б это исправить можно написать так.
.description {
counter-reset: li; /* Сброс счетчика перед началом нового списка */
}
.description_title {
padding-left: 30px;
max-width: 216px;
position: relative;
counter-increment: li; /* Увеличиваем счетчик для каждого элемента списка */
}
.description_title::before {
content: counter(li);
display: block;
position: absolute;
width: 24px;
height: 24px;
border-radius: 50%;
left: 0px;
background: rgb(53, 175, 244);
text-align: center;
}
li {
list-style-type: none;
margin-bottom: 0.5rem;
}
<ol class="description ">
<li class="description_title">
<h6 class="title">item</h6>
<p>item</p>
</li>
<li class="description_title ">
<h6 class="title">item</h6>
<p>item</p>
</li>
<li class="description_title ">
<h6 class="title">item</h6>
<p>item</p>
</li>
</ol>
а ещё лучше, использовать class
и уникальное название для переменной, которое не совпадает с названием тага.