Есть ли родительский селектор CSS?
html4 месяца назад
от Sharqa Hameed
Селекторы в CSS — это правила, имеющие шаблон элементов. На основе этих шаблонов элементы выбираются браузером и настраиваются в стилях. В некоторых случаях необходимо стилизовать элементы, имеющие определенный родительский элемент. Например, если есть несколько элементов «». В таких случаях «
:has() ” используется псевдокласс родительского селектора.Этот пост будет описывать:
- Как стилизовать родительский элемент, указав его дочерние элементы?
- Как выбрать все дочерние элементы?
- Как выбрать все прямые дочерние элементы?
Сначала создайте файл HTML с двумя элементами «div» следующим образом:
- Добавьте два « » элементы с тем же классом « parent-div ».
- Первый содержит два элемента «
- Второй элемент «
» содержит « » и «Привет
мир
Привет
<р >У меня есть тег «h2»
Если требуется стилизовать элемент «
», имеющий элемент « », то мы можем настроить стиль родительского элемента, удерживая дочерний элемент. Для этой цели мы можем использовать селектор «: has() ».Из обоих элементов «
» выберите тот, который содержит элемент «», используя «
.class-name:has(child-name) »: .parent-div:has (h2) {background-color: #103e6d;
цвет: морская ракушка;
ширина: 150 пикселей;
высота: 150 пикселей;
радиус границы: 50%;
выравнивание текста: по центру;
}
Здесь мы применили следующие свойства CSS к родительскому элементу:
- « background-color » используется для указания цвета фона элемента.
- « color » определяет цвет текста элемента.
- « ширина » используется для определения ширины элемента.
- « height » определяет высоту элемента.
- Свойство « border-radius » используется для установки закругленных углов элемента.
- « text-align » определяет выравнивание текста.
Вывод
Как выбрать все дочерние элементы?Чтобы выбрать дочерний элемент с помощью родительского селектора, выполните приведенный пример.
ПримерВыполните следующие шаги для создания HTML-страницы:
- Добавьте элемент div, содержащий два тега «», имеющий класс « child-div ». .
- Дочерний элемент « div
»:
Привет
мир
я дочерний элемент
Мы можем выбрать дочерние элементы через родительский класс «
». Это не только выберет его прямые элементы « p », но также выберет вложенные элементы « p »: .parent-div p {background-color: #7F167F;
семейство шрифтов: скоропись;
размер шрифта: 25 пикселей;
выравнивание текста: по центру;
цвет: бело-дымчатый;
}
Выход
Как выбрать все прямые дочерние элементы?Чтобы выбрать прямой дочерний элемент родительского элемента div, мы можем использовать символ « > ». Это поможет выбрать все элементы «p», которые являются прямыми дочерними элементами родительского элемента «
». Например, мы применили следующие свойства CSS: .parent-div>p {background-color: #7F167F;
семейство шрифтов: скоропись;
размер шрифта: 30 пикселей;
выравнивание текста: по центру;
цвет: бело-дымчатый;
}
« font-family » указывает шрифт выбранного элемента, а « font-size » используется для определения размера шрифта:
Output
9 0003
Мы обсудили о родительских селекторах CSS в HTML и CSS.
ЗаключениеВ CSS селектор « :has() » используется как псевдокласс родительского селектора. Он особенно используется для выбора родительских элементов. Например, «
Об авторе
Sharqa Hameed
Я энтузиаст Linux, я люблю читать каждый блог Linux в Интернете. У меня есть степень магистра в области компьютерных наук, и я увлечен обучением и преподаванием.
Посмотреть все сообщения
Найти родительский элемент с CSS
CSS ‘:
has'
добавляет пользовательскую логику для поиска элементов на основе других селекторов (вместо собственного селектора). Опубликовано в·
Чтение: 3 мин.·
16 сентября 2022 г. Двигатель 0265 CSS , но иногда трудно сделать определенные вещи, используя только CSS, даже просто изменить некоторые цвета. Например, если я попрошу вас найти родительский элемент из дочернего элемента в CSS, обычно вы застрянете.CSS разработан таким образом, что для заданного элемента вы можете указать визуальные атрибуты его дочерних элементов. Таким образом, он более или менее разработан с использованием нисходящего подхода, как дерево HTML DOM. Сначала вы начинаете с элемента в качестве корня, а затем копаетесь в его ветвях и листьях с помощью селекторов.
JavaScript
Я разработчик JavaScript, поэтому в прошлом, когда возникают эти проблемы, я просто пишу несколько строк кода JS, например:
Document.getElementById('root')
Иногда более сложная версия, но более или менее я могу найти элемент, даже если он находится далеко-далеко в одной из веток DOM. Здесь нет ничего нового, мы занимаемся этим почти два десятилетия назад. Но, честно говоря, JavaScript тяжеловат; если мне не нужно этого делать, я стараюсь не делать этого в JavaScript. Да, я разработчик JavaScript, но сейчас я использую CSS в качестве своего первого инструмента для решения проблем пользовательского интерфейса просто потому, что он дешевле.
CSS
CSS 9Верьте или нет, 0266 добавляет новые функции каждый день. Причина, по которой мы чувствуем, что он быстро меняется, заключается в том, что никто не отслеживает спецификацию CSS, не говоря уже обо всех этих совместимости браузеров. Одна из особенностей, которая, кажется, открывает перед нами дверь в отношении родительского узла, называется
:has
. Можете посмотреть видео, если еще не знаете. Я подожду, пока ты не вернешься.Вместо прямого поиска элемента мы находим его, спрашивая, имеет ли он другой селектор или содержит его. Давайте рассмотрим селектор:
a img {}
Приведенный выше селектор запрашивает
img
внутриa
. Это легко, но именно поэтому мы не можем найти родителя, потому что нас не интересуетimg
, ну вроде того, что мы действительно хотим сделать, это:a:has(img) {}
Ааа, если
a
содержитimg
, то этоa
, который мы хотим найти. Вот и все? Вы могли бы сказать. Да, это действительно делает невозможное возможным.См. спецификации для
:has
, https://developer.mozilla.org/en-US/docs/Web/CSS/:hasbody:has()
Много раз, когда я делаю веб-сайт, я хочу чтобы изменить стиль
body
, когда всплывает модальное окно. Теперь мне кажется, что мне нужно сделать только следующее:body:has(.Modal) {} // если модальное внутри
body:has(+ .Modal) {} // если модальное родственноеОдна строка кода? Давайте попробуем сделать это с помощью JavaScript, удачи. Более того, если вы можете интегрировать свою версию JavaScript с менее чем пятью строками кода в свою структуру внешнего интерфейса.
Оставить комментарий - Дочерний элемент « div
- Первый содержит два элемента «