:has()¶
Псевдокласс :has()
представляет элемент, если какой-либо из селекторов, переданных в качестве параметров (относительно :scope
данного элемента), соответствует хотя бы одному элементу.
Псевдокласс :has()
принимает список селекторов в качестве аргумента.
В текущей спецификации :has()
нельзя использовать в таблицах стилей; только с такими функциями, как document.querySelector()
.
Псевдоклассы
- :active
- :any-link
- :blank
- :checked
- :current()
- :default
- :defined
- :dir()
- :disabled
- :empty
- :enabled
- :first
- :first-child
- :first-of-type
- :focus
- :focus-visible
- :focus-within
- :fullscreen
- :future
- :has()
- :host
- :host()
- :host-context()
- :hover
- :indeterminate
- :in-range
- :invalid
- :is()
- :lang()
- :last-child
- :last-of-type
- :left
- :link
- :local-link
- :not()
- :nth-child()
- :nth-col()
- :nth-last-child()
- :nth-last-col()
- :nth-last-of-type()
- :nth-of-type()
- :only-child
- :only-of-type
- :optional
- :out-of-range
- :past
- :placeholder-shown
- :read-only
- :read-write
- :required
- :right
- :root
- :scope
- :target
- :target-within
- :user-invalid
- :valid
- :visited
- :where()
Синтаксис¶
1 2 3 4 |
|
Спецификация¶
Пример¶
Например, следующий селектор соответствует только элементам <a>
, которые содержат дочерний элемент <img>
:
1 |
|
Следующий селектор соответствует элементу <dt>
, за которым сразу следует другой элемент <dt>
:
1 |
|
Следующий селектор соответствует элементам <section>
, которые не содержат элементов заголовков:
1 |
|
Обратите внимание, что порядок имеет значение в вышеупомянутом селекторе. Поменять местами вложенность двух псевдоклассов, например:
1 |
|
... приведет к совпадению с любым элементом <section>
, который содержит все, что не является элементом заголовка.
См. также¶
Ссылки¶
:has()
MDN (рус.)