Вибірка по позиції і типу елементів у CSS
Вивчаємо псевдокласи для вибору елементів за їх позицією та типом: :first-of-type, :last-of-type, :nth-of-type, :nth-last-of-type.
Вибірка по позиції і типу елементів у CSS
CSS має спеціальні псевдокласи, які дозволяють вибирати елементи не тільки за класами або id, а й за їх положенням серед однотипних елементів.
Основні псевдокласи
:first-of-type — вибирає перший елемент певного типу серед сусідів.
:last-of-type — вибирає останній елемент певного типу серед сусідів.
:nth-of-type(n) — вибирає елемент за номером серед елементів такого ж типу.
:nth-last-of-type(n) — вибирає елемент за номером з кінця.
HTML/CSS приклад
<div class="block">
<p>Перший абзац</p>
<p>Другий абзац</p>
<h2>Заголовок</h2>
<p>Третій абзац</p>
<p>Четвертий абзац</p>
</div>.block p:first-of-type {
color: green;
}
.block p:last-of-type {
color: red;
}
.block p:nth-of-type(2) {
font-size: 30px;
}
.block p:nth-last-of-type(2) {
text-decoration: underline;
}Що вийде
Перший абзац стане зеленим, останній абзац стане червоним, другий абзац збільшиться, а передостанній отримає підкреслення.
Різниця між :nth-child і :nth-of-type
:nth-child рахує всі дочірні елементи незалежно від їх типу. :nth-of-type рахує тільки елементи такого ж типу.
<div>
<h2>Title</h2>
<p>1</p>
<p>2</p>
<p>3</p>
</div>p:nth-of-type(2) {
color: blue;
}:nth-of-type(2) вибере другий тег p, навіть якщо перед ним знаходяться інші типи елементів.
Практичне завдання
- №1
- Напишіть CSS, який:
- 1. Перший p зробить зеленим.
- 2. Останній p зробить червоним.
- 3. Третій p збільшить до 25px.
- 4. Другий елемент p з кінця підкреслить.
- <div>
- <p>text</p>
- <p>text</p>
- <p>text</p>
- <p>text</p>
- </div>
💡 Показати підказку
Використовуйте :first-of-type, :last-of-type, :nth-of-type() і :nth-last-of-type().
✅ Показати відповідь
.block p:first-of-type {
color: green;
}
.block p:last-of-type {
color: red;
}
.block p:nth-of-type(3) {
font-size: 25px;
}
.block p:nth-last-of-type(2) {
text-decoration: underline;
}