aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/css/_colon_not/index.html
blob: a6d56ca8cc3ff68884a811136a43b5ebd8e00dec (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
61
62
63
64
65
66
67
68
---
title: ':not()'
slug: 'Web/CSS/:not'
translation_of: 'Web/CSS/:not'
---
<div>{{ CSSRef() }}</div>

<h2 id="Summary" name="Summary">Описание</h2>

<p><strong>Отрицательный </strong><a href="/ru/docs/CSS/Pseudo-classes" title="Pseudo-classes">CSS псевдокласс</a>, <code>:not(X)</code> - функция, принимающая простой селектор <var>X</var> в качестве аргумента. Он находит элементы, не соответствующие селектору. <var>X</var> не должен содержать других отрицательных селекторов.</p>

<div class="note"><strong>Замечания:</strong>

<ul>
 <li>С этого псевдокласса можно написать бесполезные селекторы. Например, <code>:not(*)</code> найдёт любой элемент, являющийся не любым, то есть правило не применится ни к одному элементу.</li>
 <li>Возможно переписать другие правила. Например <code>foo:not(bar)</code> найдёт тот же элемент, что и простой <code>foo</code>. Тем не менее <a href="/ru/docs/CSS/Specificity" title="Specificity">специфичность</a> первого выше.</li>
 <li><code>:not(foo){} </code>найдёт что угодно, что не <code>foo</code>, <strong>включая {{HTMLElement("html")}} и {{HTMLElement("body")}}.</strong></li>
 <li>Это селектор применяется только к одному элементу. Вы не можете использовать его, чтобы исключить всех родителей. Например, <code>body :not(table) a</code> применится к ссылкам внутри таблицы, тогда как {{HTMLElement("tr")}} будет соответствовать <code>:not()</code> части селектора.</li>
</ul>
</div>

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

<pre class="syntaxbox">:not(selector) { <em>style properties</em> }</pre>

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

<pre class="brush: css">p:not(.classy) { color: red; }
body :not(p) { color: green; }</pre>

<p>CSS выше и HTML ниже...</p>

<pre class="brush: html">&lt;p&gt;Некоторый текст.&lt;/p&gt;
&lt;p class="classy"&gt;Какой-то другой текст.&lt;/p&gt;
&lt;span&gt;Ещё текст&lt;span&gt;
</pre>

<p>Выведет это:</p>

<p>{{ EmbedLiveSample('Examples', '', '', '', 'Web/CSS/:not') }}</p>

<h2 id="Specifications" name="Specifications">Спецификации</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', '#negation', ':not()') }}</td>
   <td>{{ Spec2('CSS4 Selectors') }}</td>
   <td>Аргумент расширен до поддержки нескольких непростых селекторов.</td>
  </tr>
  <tr>
   <td>{{ SpecName('CSS3 Selectors', '#negation', ':not()') }}</td>
   <td>{{ Spec2('CSS3 Selectors') }}</td>
   <td>Изначальное определение.</td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatibility" name="Browser_compatibility">Поддержка браузерами</h2>

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