aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/css/_colon_has/index.html
blob: d88e2b9dd9c0f2dd88134285d52aee83dbbad365 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
---
title: ':has()'
slug: 'Web/CSS/:has'
tags:
  - CSS
  - Псевдоклассы
  - Селекторы
  - Справка
  - Экспериментальная
translation_of: 'Web/CSS/:has'
---
<div>{{CSSRef}}</div>

<p><span class="seoSummary">CSS <a href="/Web/CSS/Псевдо-классы">псевдокласс </a><a href="/ru/docs/Web/CSS/Псевдо-классы"> </a><strong><code>:has()</code></strong>  отображает элемент в том случае, если любой из селекторов, переданный в качестве параметра (относительно {{cssxref(":scope")}}), соответствует хотя бы одному элементу.</span></p>

<p>Псведокласс <code>:has()</code> берет соотвествующий список селекторов в качестве аргумента. В ранней версии спецификации CSS Selectors Level 4, <code>:has</code> имел ограничение, которое не позволяло использовать его в таблицах стилей; только с использованием функций, как например: {{domxref("document.querySelector()")}} (из-за проблем с производительностью). На текущий момент, это ограничение снято, так как ни один из браузеров не реализовал это соответствующим образом.</p>

<pre class="brush: css no-line-numbers">/* Выбирает любой тег &lt;a&gt;, если следом за ним находится дочерний элемент &lt;img&gt; */
/* Отмечу, что это не поддерживается ни одним из браузеров */
var test = document.querySelector('a:has(&gt; img)');</pre>

<h2 id="Syntax" name="Syntax">Синтаксис</h2>

<pre class="syntaxbox">{{CSSSyntax}}</pre>

<h2 id="Examples" name="Examples">Примеры</h2>

<p>Следующий селектор находит только те теги {{HTMLElement("a")}}, которые непосредственно содержат дочерний элемент {{HTMLElement("img")}}:</p>

<pre>a:has(&gt; img)
</pre>

<p>Следующий селектор находит только те теги {{HTMLElement("h1")}}, при условии, что следом за ними находится элемент {{htmlelement("p")}}:</p>

<pre>h1:has(+ p)</pre>

<h2 id="Спецификации">Спецификации</h2>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">Спецификация</th>
   <th scope="col">Статус</th>
   <th scope="col">Комментарий</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>{{SpecName("CSS4 Selectors", "#relational", ":has()")}}</td>
   <td>{{Spec2("CSS4 Selectors")}}</td>
   <td>Начальное определение</td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>

<div class="hidden">Таблица совместимости на этой странице генерируется из структурированных данных. Если вы хотите внести свой вклад в эти данные, пожалуйста, просмотрите <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> и отправьте нам pull request.</div>

<p>{{Compat("css.selectors.has")}}</p>