CSS псевдоэлемент ::after
Значение и применение
Псевдоэлемент ::after создаёт генерируемое содержимое после содержимого выбранного элемента — внутри него, а не
рядом с ним в DOM. Псевдоэлемент ::after используется вместе со свойством
content, которое необходимо для вставки сгенерированного контента.
Обратите внимание, что в настоящее время используется синтаксис, который предусматривает двойное двоеточие перед псевдоэлементом. Не смотря на то, что браузеры поддерживают оба варианта, рекомендуется использовать синтаксис CSS 3:
/* синтаксис CSS 3 */
селектор::псевдоэлемент { /* двойное двоеточие */
CSS свойство: значение;
}
/* синтаксис CSS 2 */
селектор:псевдоэлемент { /* одинарное двоеточие */
CSS свойство: значение;
}
Попробуйте псевдоэлемент ::after
Псевдоэлемент появляется после текста. Сравните подпись, стрелку и отключённое содержимое.
.sample::after { content: " →"; color: #005a99; }.sample::after { content: " (пример)"; color: #994000; }.sample::after { content: none; }HTML примера
<p class="sample">Читать статью</p>
Псевдоэлемент создаётся при подходящем значении content, в том числе пустой строке "", но не
при none или обычном для него normal. Важный текст сохраняйте в HTML: сгенерированное
содержимое не заменяет доступную разметку. Для декора загруженного <img> используйте обёртку; на
псевдоэлементы полей <input> нельзя полагаться одинаково во всех браузерах.
Поддержка браузерами
Спецификация: CSS pseudo
Поддерживается во всех основных браузерах с 2015 года.
Отдельные значения (1) поддерживаются не везде — смотрите таблицу.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
after | 1 Версия 1 выпущена в 2008 г. Версия 1 выпущена в 2008 г. — Имя :after | 12 Версия 12 выпущена в 2015 г. Версия 12 выпущена в 2015 г. — Имя :after | 1.5 Версия 1.5 выпущена в 2005 г. Примечание MDN (англ.) Before Firefox 57, Firefox had a bug where Before Firefox 3.5, only the CSS level 2 behavior of Версия 1 выпущена в 2004 г. — Имя :after | 7 Версия 7 выпущена в 2003 г. Версия 4 выпущена в 2000 г. — Имя :after | 4 Версия 4 выпущена в 2009 г. Версия 4 выпущена в 2009 г. — Имя :after | 18 Версия 18 выпущена в 2012 г. Версия 18 выпущена в 2012 г. — Имя :after | 4 Версия 4 выпущена в 2011 г. Примечание MDN (англ.) Before Firefox for Android 57, Firefox for Android had a bug where Before Firefox for Android 4.5, only the CSS level 2 behavior of Версия 4 выпущена в 2011 г. — Имя :after | 10.1 Версия 10.1 выпущена в 2010 г. Версия 10.1 выпущена в 2010 г. — Имя :after | 3.2 Версия 3.2 выпущена в 2010 г. Версия 3.2 выпущена в 2010 г. — Имя :after | 1.0 Версия 1.0 выпущена в 2013 г. Версия 1.0 выпущена в 2013 г. — Имя :after | 4.4 Версия 4.4 выпущена в 2013 г. Версия 4.4 выпущена в 2013 г. — Имя :after | 3.2 Версия 3.2 выпущена в 2010 г. Версия 3.2 выпущена в 2010 г. — Имя :after |
| Animation and transition support | 26 | 12 | 4 | 15 | 7 | 26 | 4 | 14 | 7 | 1.5 | 4.4 | 7 |
| ::after::marker nested pseudo-elements | 135 | 135 | 143 | 120 | 135 | 143 | 89 | 29.0 | 135 | |||
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
CSS синтаксис:
::after {
content : " ";
блок объявлений;
}
Версия CSS
CSS2Примеры, попробуйте сами
Содержимое ::after
Измените content. Дополнительный текст создаётся CSS, а исходный текст остаётся в HTML.
base.css
* {
box-sizing: border-box;
}
body {
margin: 16px;
font:
16px/1.5 system-ui,
sans-serif;
color: #24364b;
overflow-wrap: anywhere;
}
section {
margin-block: 16px;
padding: 12px;
border: 1px solid #a8b8c7;
}
p {
padding: 8px;
}
label {
display: block;
margin-block: 12px;
}
input,
button {
max-width: 100%;
font: inherit;
padding: 8px;
}
input[type='checkbox'] + label {
display: inline;
}
a {
color: #135fb5;
}
index.html
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Содержимое ::after</title>
</head>
<body>
<p class="note" data-label="Подсказка">Текст сообщения</p>
<p>Обычный абзац</p>
</body>
</html>
style.css
.note::after {
content: ' ✓';
color: #9b3c00;
font-weight: bold;
}
Пример добавления кавычек к тексту в CSS: попробуйте сами
Измените учебный CSS и сравните оформление добавленного содержимого.
base.css
* {
box-sizing: border-box;
}
body {
margin: 16px;
font:
16px/1.5 system-ui,
sans-serif;
color: #172c3d;
}
section {
margin-bottom: 24px;
min-width: 0;
}
h3 {
margin: 0 0 12px;
font-size: 16px;
}
.item {
padding: 8px;
min-width: 0;
background: #c5dbea;
border: 1px solid #35658a;
overflow-wrap: anywhere;
}
index.html
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<title>Внешние и вложенные кавычки</title>
</head>
<body>
<p class="sample">
<q>Цитата с <q>вложенной цитатой</q> внутри</q>
</p>
</body>
</html>
style.css
.sample {
quotes: '«' '»' '‹' '›';
}
q::before {
content: open-quote;
}
q::after {
content: close-quote;
}