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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
---
title: Псевдоклассы
slug: Web/CSS/Pseudo-classes
tags:
- CSS
- Reference
- Псевдоклассы
- Селекторы
translation_of: Web/CSS/Pseudo-classes
original_slug: Web/CSS/Псевдо-классы
---
<div>{{CSSRef}}</div>
<p><strong>Псевдокласс</strong> в CSS — <dfn>это ключевое слово, добавленное к селектору,</dfn> которое определяет его особое состояние. Например, {{ Cssxref(":hover") }} может быть использован для изменения цвета кнопки при наведении курсора на неё.</p>
<pre class="brush: css no-line-numbers">div:hover {
background-color: #F89B4D;
}</pre>
<p>Псевдоклассы дают возможность стилизовать элемент на основе не только отношений в DOM-дереве, но и основываясь на внешних факторах, таких как история посещений (например, {{ cssxref(":visited") }}), состояние содержимого (вроде {{ cssxref(":checked") }} у некоторых элементов формы) или позиции курсора мыши (например, {{ cssxref(":hover") }} определяет, находится ли курсор мыши над элементом).</p>
<div class="note">
<p><strong>Примечание:</strong> В отличие от псевдоклассов, <a href="/ru/docs/Web/CSS/pseudo-elements">псевдоэлементы</a> могут быть использованы для стилизации <em>определённой части</em> элемента.</p>
</div>
<h2 id="Синтаксис">Синтаксис</h2>
<pre class="syntaxbox">selector:pseudo-class {
property: value;
}
</pre>
<p>Как и с обычными классами, можно совмещать вместе в одном селекторе любое число псевдоклассов.</p>
<h2 id="Список_стандартных_псевдоклассов">Список стандартных псевдоклассов</h2>
<div class="index">
<ul>
<li>{{ Cssxref(":active") }}</li>
<li>{{ cssxref(':any')}}</li>
<li>{{ cssxref(':any-link')}}</li>
<li>{{ Cssxref(":checked") }}</li>
<li>{{ Cssxref(":default") }}</li>
<li>{{ Cssxref(":defined") }}</li>
<li>{{ Cssxref(":dir", ":dir()")}}</li>
<li>{{ Cssxref(":disabled") }}</li>
<li>{{ Cssxref(":empty") }}</li>
<li>{{ Cssxref(":enabled") }}</li>
<li>{{ Cssxref(":first") }}</li>
<li>{{ Cssxref(":first-child") }}</li>
<li>{{ Cssxref(":first-of-type") }}</li>
<li>{{ Cssxref(":fullscreen") }}</li>
<li>{{ Cssxref(":focus") }}</li>
<li>{{ Cssxref(":hover") }}</li>
<li>{{ Cssxref(":indeterminate") }}</li>
<li>{{ Cssxref(":in-range") }}</li>
<li>{{ Cssxref(":invalid") }}</li>
<li>{{ Cssxref(":lang", ":lang()") }}</li>
<li>{{ Cssxref(":last-child") }}</li>
<li>{{ Cssxref(":last-of-type") }}</li>
<li>{{ Cssxref(":left") }}</li>
<li>{{ Cssxref(":link") }}</li>
<li>{{ Cssxref(":not", ":not()") }}</li>
<li>{{ Cssxref(":nth-child", ":nth-child()") }}</li>
<li>{{ Cssxref(":nth-last-child", ":nth-last-child()") }}</li>
<li>{{ Cssxref(":nth-last-of-type", ":nth-last-of-type()") }}</li>
<li>{{ Cssxref(":nth-of-type", ":nth-of-type()") }}</li>
<li>{{ Cssxref(":only-child") }}</li>
<li>{{ Cssxref(":only-of-type") }}</li>
<li>{{ Cssxref(":optional") }}</li>
<li>{{ Cssxref(":out-of-range") }}</li>
<li>{{ Cssxref(":read-only") }}</li>
<li>{{ Cssxref(":read-write") }}</li>
<li>{{ Cssxref(":required") }}</li>
<li>{{ Cssxref(":right") }}</li>
<li>{{ Cssxref(":root") }}</li>
<li>{{ Cssxref(":scope") }}</li>
<li>{{ Cssxref(":target") }}</li>
<li>{{ Cssxref(":valid") }}</li>
<li>{{ Cssxref(":visited") }}</li>
</ul>
</div>
<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('Fullscreen') }}</td>
<td>{{ Spec2('Fullscreen') }}</td>
<td>Определён <code>:fullscreen</code>.</td>
</tr>
<tr>
<td>{{ SpecName('HTML WHATWG') }}</td>
<td>{{ Spec2('HTML WHATWG') }}</td>
<td>Нет изменений от {{ SpecName('HTML5 W3C') }}.</td>
</tr>
<tr>
<td>{{SpecName('CSS4 Selectors')}}</td>
<td>{{Spec2('CSS4 Selectors')}}</td>
<td>Определены <code>:any-link</code>, <code>:local-link</code>, <code>:scope</code>, <code>:active-drop-target</code>, <code>:valid-drop-target</code>, <code>:invalid-drop-target</code>, <code>:current</code>, <code>:past</code>, <code>:future</code>, <code>:placeholder-shown</code>, <code>:user-error</code>, <code>:blank</code>, <code>:nth-match()</code>, <code>:nth-last-match()</code>, <code>:nth-column()</code>, <code>:nth-last-column()</code> и <code>:matches()</code>.<br>
Нет существенных изменений для псевдоклассов, определённых в {{SpecName('CSS3 Selectors')}} и {{SpecName('HTML5 W3C')}} (не рассматрия семантическое значение).</td>
</tr>
<tr>
<td>{{ SpecName('HTML5 W3C') }}</td>
<td>{{ Spec2('HTML5 W3C') }}</td>
<td>Определено семантическое значение в HTML контексте для <code>:link</code>, <code>:visited</code>, <code>:active</code>, <code>:enabled</code>, <code>:disabled</code>, <code>:checked</code> и <code>:indeterminate</code>.<br>
Определены <code>:default</code>, <code>:valid</code>, <code>:invalid</code>, <code>:in-range</code>, <code>:out-of-range</code>, <code>:required</code>, <code>:optional</code>, <code>:read-only</code>, <code>:read-write</code> и <code>:dir()</code>.</td>
</tr>
<tr>
<td>{{ SpecName('CSS3 Basic UI') }}</td>
<td>{{ Spec2('CSS3 Basic UI') }}</td>
<td>Определены <code>:default</code>, <code>:valid</code>, <code>:invalid</code>, <code>:in-range</code>, <code>:out-of-range</code>, <code>:required</code>, <code>:optional</code>, <code>:read-only</code> и <code>:read-write</code>, но без связанного семантического значения.</td>
</tr>
<tr>
<td>{{SpecName('CSS3 Selectors')}}</td>
<td>{{Spec2('CSS3 Selectors')}}</td>
<td>Определены <code>:target</code>, <code>:root</code>, <code>:nth-child()</code>, <code>:nth-last-of-child()</code>, <code>:nth-of-type()</code>, <code>:nth-last-of-type()</code>, <code>:last-child</code>, <code>:first-of-type</code>, <code>:last-of-type</code>, <code>:only-child</code>, <code>:only-of-type</code>, <code>:empty</code> и <code>:not()</code>.<br>
Определён синтаксис для <code>:enabled</code>, <code>:disabled</code>, <code>:checked</code> и <code>:indeterminate</code>, но без связанного семантического значения.<br>
Нет значительных изменений для псевдоклассов, определённых в {{SpecName('CSS2.1')}}.</td>
</tr>
<tr>
<td>{{SpecName('CSS2.1')}}</td>
<td>{{Spec2('CSS2.1')}}</td>
<td>Определены <code>:lang()</code>, <code>:first-child</code>, <code>:hover</code> и <code>:focus</code>.<br>
Нет значительных изменений для псевдоклассов, определённых в {{SpecName('CSS1')}}.</td>
</tr>
<tr>
<td>{{SpecName('CSS1')}}</td>
<td>{{Spec2('CSS1')}}</td>
<td>Определены <code>:link</code>, <code>:visited</code> и <code>:active</code>, но без связанного семантического значения.</td>
</tr>
</tbody>
</table>
<h2 id="См._также">См. также</h2>
<ul>
<li><a href="/ru/docs/Web/CSS/Pseudo-elements">Псевдоэлементы</a></li>
</ul>
|