Выберите конкретный тип элемента его родителя
В предыдущей статье мы уже узнали, как от первого дочернего элемента и последнего дочернего элемента выбирать конкретные элементы.
В этой статье мы поговорим о том, что в некоторых ситуациях первый конкретный тип элемента не является первым дочерним элементом его родителя.
Исходный код:
Например, в следующем примере мы добавляем ‹h1› перед первым ‹p›. А также добавьте нижний колонтитул перед концом ‹div›.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> p:last-child { background-color: blue; } p:first-child { background-color: red; } </style> </head> <body> <div> <h1>Header</h1> <p>This is paragraph.</p> <p>This is paragraph.</p> <p>This is paragraph.</p> <p>This is paragraph.</p> <p>This is paragraph.</p> <p>This is paragraph.</p> <div>div</div> <p>The second paragraph.</p> <p>The third paragraph.</p> <p>The fourth paragraph.</p> <footer>footer</footer> </body> </html>
Теперь, если мы используем исходный CSS, который просто выбирает первый дочерний элемент и последний дочерний элемент. Нет никакого эффекта на веб-странице.
p:last-child { background-color: blue; } p:first-child { background-color: red; }
Первый тип и последний тип
Чтобы решить эту проблему, мы можем просто перейти на использование первого по типу и последнего по типу, это позволит нам нацеливаться на первое вхождение элемента определенного типа в его родительском элементе.
Например, поскольку мы хотим настроить таргетинг на ‹p›. Мы можем сказать
p:first-of-type { background-color: blue; } p:last-of-type { background-color: red; }
Первый и последний абзацы ‹div› выбираются снова!
Подписывайтесь на нас: YouTube, Medium, Udemy, Linkedin, Twitter.