Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про CSS: css, counter

Можете привести пример counter-increment и counter-reset в CSS для создания автоматической нумерации на веб-странице?

Этот вопрос помогает проверить умение создавать динамическую нумерацию с помощью css.

Короткий ответ

Эти свойства позволяют динамически увеличивать счетчики для элементов, таких как заголовки, списки и другие элементы, что делает нумерацию более гибкой и управляемой.

С помощью counter-reset мы создаем новый счетчик, а counter-increment увеличиваем его значение для определенных элементов. Например, мы можем использовать эти свойства для автоматической нумерации заголовков на странице. Счетчик может быть сброшен при помощи counter-reset, а при каждом появлении элемента с counter-increment счетчик будет увеличиваться.

Длинный ответ

Чтобы создать автоматическую нумерацию на веб-странице с использованием CSS, мы можем воспользоваться свойствами counter-reset и counter-increment. Эти свойства позволяют нам управлять счетчиками, что дает возможность автоматически добавлять номера к элементам.

HTML-структура:

<div class="section">
	<h2>Раздел 1</h2>
	<p>Некоторый текст в разделе 1.</p>
	<h2>Раздел 2</h2>
	<p>Некоторый текст в разделе 2.</p>
	<h3>Подраздел 2.1</h3>
	<p>Некоторый текст в подразделе 2.1.</p>
	<h3>Подраздел 2.2</h3>
	<p>Некоторый текст в подразделе 2.2.</p>
</div> 

CSS-стили:

/* Устанавливаем счетчик для секций */
.section {
	counter-reset: section; /* Сбрасываем счетчик на ноль */
}
/* Нумеруем заголовки второго уровня */
h2 {
	counter-increment: section; /* Увеличиваем счетчик для каждого h2 */
}
/* Отображаем номер перед заголовком */
h2::before {
	content: "Раздел " counter(section) ". "; /* Выводим номер раздела */
	font-weight: bold; /* Делаем номер жирным */
}
/* Нумеруем подразделы (h3) */
h3 {
	counter-increment: subsection; /* Увеличиваем отдельный счетчик для h3 */
}
/* Отображаем номер перед подзаголовком */
h3::before {
	content: counter(section) "." counter(subsection) " "; /* Выводим номер с учетом родительского раздела */
	font-weight: bold; /* Делаем номер жирным */
} 

Как это работает:

  •  В родительском элементе .section мы используем counter-reset: section;, чтобы начать новый счетчик для разделов.

  •  При каждом появлении заголовка второго уровня <h2> мы увеличиваем счетчик section с помощью counter-increment: section;.

  •  В псевдоэлементе ::before мы отображаем текущее значение счетчика перед содержимым заголовка.

  •  Аналогично, мы можем создать отдельный счетчик для подразделов, чтобы отображать номера в формате "1.1", "1.2" и т. д.

С использованием данного подхода, заголовки на странице будут автоматически нумероваться, что значительно упрощает структуру и улучшает навигацию по содержимому.

Уровень

  • Рейтинг:

    5

  • Сложность:

    10

Навыки

  • CSS

    CSS

Ключевые слова

#css

#counter

Подпишись на React Developer в телеграм