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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
|
---
title: '::after (:after)'
slug: 'Web/CSS/::after'
tags:
- CSS
- Layout
- Reference
- Web
- Псевдоэлементы
translation_of: 'Web/CSS/::after'
---
<div>{{CSSRef}}</div>
<p><span class="seoSummary">В CSS, <strong><code>::after</code></strong> создаёт <a href="/ru/docs/Web/CSS/Pseudo-elements">псевдоэлемент</a>, который является последним потомком выбранного элемента. Часто используется для добавления косметического содержимого в элемент с помощью свойства {{cssxref("content")}}.</span> По умолчанию является инлайновым.</p>
<pre class="brush: css no-line-numbers language-css"><code class="language-css"><span class="comment token">/* Добавить стрелки после ссылок */</span>
<span class="selector token">a<span class="pseudo-class token">::after</span> </span><span class="punctuation token">{</span>
<span class="property token">content: "</span></code>→<code class="language-css"><span class="property token">";</span>
<span class="punctuation token">}</span></code></pre>
<div class="note">
<p><strong>Примечание:</strong> Псведоэлементы, созданные с помощью <code>::before</code> и <code>::after</code> <a href="https://www.w3.org/TR/CSS2/generate.html#before-after-content">содержатся в блоке форматирования элемента</a>, и поэтому не применяются к <em><a href="/ru/docs/Web/CSS/Replaced_element">замещаемым элементам</a></em>, таким как {{htmlelement("img")}} или {{htmlelement("br")}}.</p>
</div>
<h2 id="Синтаксис">Синтаксис</h2>
<pre class="syntaxbox">{{csssyntax}}</pre>
<div class="note">
<p>В CSS3 появилась запись <code>::after</code> (с двумя двоеточиями) для различения <a href="/ru/docs/Web/CSS/Псевдо-классы">псевдоклассов</a> и <a href="/ru/docs/Web/CSS/Pseudo-elements">псевдоэлементов</a>. Браузеры также поддерживают запись <code>:after</code>, введённую в CSS2.</p>
</div>
<h2 id="Примеры">Примеры</h2>
<h3 id="Простое_использование">Простое использование</h3>
<p>Давайте создадим два класса, один для скучных параграфов и один для потрясающих. Затем мы сможем отметить каждый параграф добавлением псевдоэлемента в его конец.</p>
<h4 id="HTML">HTML</h4>
<pre class="brush: html"><p class="boring-text">Вот простой скучный текст.</p>
<p>Вот нормальный текст, который не является ни скучным, ни потрясающим.</p>
<p class="exciting-text">Помогать MDN легко и весело.
Просто нажмите кнопку редактирования, чтобы добавить новые живые примеры, или улучшить существующие примеры.</p></pre>
<h4 id="CSS">CSS</h4>
<pre class="brush: css">.exciting-text::after {
content: "<- теперь это *просто* потрясающе!";
color: green;
}
.boring-text::after {
content: "<- СКУЧНО!";
color: red;
}</pre>
<h4 id="Результат">Результат</h4>
<p>{{EmbedLiveSample('Простое_использование', 500, 150)}}</p>
<h3 id="Пример_оформления">Пример оформления</h3>
<p>Можно стилизовать текст или изображения в свойстве {{cssxref("content")}} практически любым способом.</p>
<h4 id="HTML_2">HTML</h4>
<pre class="brush: html"><span class="ribbon">Посмотрите, где находится оранжевый прямоугольник.</span></pre>
<h4 id="CSS_2">CSS</h4>
<pre class="brush: css">.ribbon {
background-color: #5BC8F7;
}
.ribbon::after {
content: "Посмотрите на этот оранжевый прямоугольник.";
background-color: #FFBA10;
border-color: black;
border-style: dotted;
}</pre>
<h4 id="Результат_2">Результат</h4>
<p>{{EmbedLiveSample('Пример_оформления', 450, 20)}}</p>
<h3 id="Подсказки">Подсказки</h3>
<p>Следующий пример показывает использование <a href="/ru/docs/Web/CSS/Pseudo-elements">псевдоэлемента</a> <code>::after</code> в сочетании с CSS-выражением <a href="/ru/docs/Web/CSS/attr"><code>attr()</code></a> и <a href="/ru/docs/Web/HTML/Global_attributes#attr-dataset">пользовательского <code>data-*</code> атрибута</a> <code>data-descr</code> для создания <em>подсказки</em> на чистом CSS.</p>
<h4 id="HTML_3">HTML</h4>
<pre class="brush: html"><p>Здесь находится живой пример вышеприведённого кода.<br />
У нас есть некоторый <span data-descr="коллекция слов и знаков препинаний">текст</span> здесь с несколькими
<span data-descr="маленькие всплывающие окошки, которые снова исчезают">подсказками</span>.<br />
Не стесняйтесь, наводите мышку чтобы <span data-descr="не понимать буквально">взглянуть</span>.
</p>
</pre>
<h4 id="CSS_3">CSS</h4>
<pre class="brush: css">span[data-descr] {
position: relative;
text-decoration: underline;
color: #00F;
cursor: help;
}
span[data-descr]:hover::after {
content: attr(data-descr);
position: absolute;
left: 0;
top: 24px;
min-width: 200px;
border: 1px #aaaaaa solid;
border-radius: 10px;
background-color: #ffffcc;
padding: 12px;
color: #000000;
font-size: 14px;
z-index: 1;
}</pre>
<h4 id="Результат_3">Результат</h4>
<p>{{EmbedLiveSample('Подсказки', 450, 120)}}</p>
<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 Pseudo-Elements', '#selectordef-after', '::after')}}</td>
<td>{{Spec2('CSS4 Pseudo-Elements')}}</td>
<td>Нет значительных изменений по сравнению с предыдущей версией спецификации.</td>
</tr>
<tr>
<td>{{Specname("CSS3 Transitions", "#animatable-properties", "transitions on pseudo-element properties")}}</td>
<td>{{Spec2("CSS3 Transitions")}}</td>
<td>Разрешает переходы для свойств, определённых в псевдоэлементах.</td>
</tr>
<tr>
<td>{{Specname("CSS3 Animations", "", "animations on pseudo-element properties")}}</td>
<td>{{Spec2("CSS3 Animations")}}</td>
<td>Разрешает анимации на свойствах, определённых в псевдоэлементах.</td>
</tr>
<tr>
<td>{{SpecName('CSS3 Selectors', '#gen-content', '::after')}}</td>
<td>{{Spec2('CSS3 Selectors')}}</td>
<td>Введение синтаксиса с двумя двоеточиями.</td>
</tr>
<tr>
<td>{{SpecName('CSS2.1', 'generate.html#before-after-content', '::after')}}</td>
<td>{{Spec2('CSS2.1')}}</td>
<td>Изначальное определение, используя синтаксис с одним двоеточием.</td>
</tr>
</tbody>
</table>
<h2 id="Поддержка_браузерами">Поддержка браузерами</h2>
<div>
<p>{{Compat("css.selectors.after")}}</p>
</div>
<h2 id="См._также">См. также</h2>
<ul>
<li>{{Cssxref("::before")}}, {{cssxref("content")}}</li>
</ul>
|