Вебсправочник
Справочник CSS

:nth-of-type(): позиция среди элементов одного типа

Nth-of-type считает позицию элемента среди соседей с тем же именем тега. Это отличается от nth-child, который в базовой форме считает все соседние элементы.

Назначение

Nth-of-type считает позицию элемента среди соседей с тем же именем тега. Это отличается от nth-child, который в базовой форме считает все соседние элементы.

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

Нумерация начинается с единицы. Селектор p:nth-of-type(2) выбирает второй p среди соседних p, даже если между ними есть заголовок. Добавленный класс не превращает подсчёт в нумерацию только элементов этого класса.

Пример

<style>.type-demo>p:nth-of-type(2){padding:.7rem;background:#e0f0e5}</style>
<section class="type-demo"><h2>Учебная заметка</h2><p>Первый абзац.</p><h3>Уточнение</h3><p>Второй абзац.</p></section>

Что должно получиться

Фон получает второй абзац, хотя он является четвёртым дочерним элементом секции. Заголовки не входят в подсчёт позиции среди p.

Граница применения и частая ошибка

Запись .card:nth-of-type(2) не означает вторую карточку класса card, если рядом есть другие элементы того же тега. Для устойчивого смыслового выбора не полагайтесь на позицию после произвольной сортировки содержимого.

Самостоятельная проверка

Замените селектор на p:nth-child(2) и сравните выделение. Добавьте ещё один p перед выбранным. Затем создайте два разных класса на одинаковых тегах и объясните, какие элементы участвуют в подсчёте.

HTML и CSS можно изменить в песочнице ниже. Она изолирована: JavaScript, внешние ресурсы и отправка форм отключены. Проверки печати, загрузки файлов и сетевых ответов выполняйте в отдельном учебном проекте.

Попробуйте сами

HTML + CSS песочница
РЕЗУЛЬТАТ · ИЗОЛИРОВАННЫЙ ПРЕДПРОСМОТР
Измените код и нажмите «Запустить». JavaScript и внешние запросы отключены.
Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.