1. Главная
  2. Блог
  3. Полезные статьи
  4. Автоматическая нумерация элементов с помощью CSS Counter

Автоматическая нумерация элементов с помощью CSS Counter

12 июля 2026
54

При создании лендингов и корпоративных сайтов часто требуется оформить последовательность этапов работы. Самый распространенный вариант — разместить перед каждым заголовком номер в круге.

Многие решают эту задачу вручную, прописывая номера в HTML. Однако существует гораздо более удобный способ — встроенные счетчики CSS.

Преимущества CSS Counter

  • не нужно вручную менять номера;
  • при добавлении нового блока нумерация обновляется автоматически;
  • HTML остается чистым;
  • оформление полностью управляется CSS.

Создаем счетчик

Сначала необходимо объявить счетчик.

.advantages .part-wrap {
    counter-reset: step;
}

Свойство counter-reset создает новый счетчик с именем step и устанавливает его значение в ноль.

Увеличиваем счетчик

Для каждого элемента увеличиваем значение счетчика.

.advantages .element {
    counter-increment: step;
}

Каждый следующий блок автоматически получает следующий номер.

Выводим номер

Сам номер выводится с помощью псевдоэлемента ::before.

.advantages .element h3::before {
    content: counter(step);

    width: 34px;
    height: 34px;

    display: inline-flex;
    justify-content: center;
    align-items: center;

    background: #b14191;
    color: #fff;

    border-radius: 50%;

    font-size: 14px;
    font-weight: 600;

    margin-right: 12px;
    flex-shrink: 0;
}

Функция counter(step) выводит текущее значение счетчика.

Размещаем номер рядом с заголовком

Чтобы круг с номером располагался непосредственно перед текстом заголовка и переносы работали корректно, удобно использовать Flexbox.

.advantages .element h3 {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    flex-wrap: wrap;
    line-height: 1.3;
}

Такое решение обеспечивает корректный перенос длинных заголовков и не требует абсолютного позиционирования.

автоматическая нумерация блоков в CSS

Как работает CSS Counter

Механизм состоит из трех частей:

  • counter-reset — создание счетчика;
  • counter-increment — увеличение значения для каждого элемента;
  • counter() — вывод текущего значения.

Все три свойства работают совместно и позволяют полностью отказаться от ручной нумерации.

Где применяется

  • этапы разработки;
  • пошаговые инструкции;
  • процесс оформления заказа;
  • таймлайны;
  • карточки преимуществ.
CSS Counter — удобный инструмент для автоматической нумерации элементов без JavaScript и без изменения HTML. При совместном использовании с Flexbox можно получить аккуратное и адаптивное оформление этапов работы, которое автоматически обновляется при добавлении новых блоков.

Подобные приемы оформления интерфейсов мы регулярно используем при создании сайтов под ключ. Грамотно реализованная верстка делает сайт удобнее для пользователей, упрощает дальнейшую поддержку проекта и положительно влияет на восприятие контента.

Планируете разработку нового сайта или модернизацию существующего? Выполняем разработку сайтов под ключ на WordPress, 1С-Битрикс и Tilda с учетом современных требований к дизайну, скорости работы и адаптивности.

Понравилась статья?

Поддержать нас рублями:

Нужна помощь? Обращайтесь!

Комментарии
Name
Email
Phone
Ваше имя
Ваш email
Оставить комментарий
Нажмите для звонка
+7 (499) 341-00-19