как сделать список с 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 и уникальное название для переменной, которое не совпадает с названием тага.

→ Ссылка