Все справочники находятся в стадии наполнения. Если у вас есть идеи на счёт того как улучшить этот раздел, то вы можете оставить комментарий под конкретной записью или написать свои предложения по адресу admin@tuhub.ru.

::after

CSS ::after

::after - это псевдоэлемент, который позволяет добавлять содержимое на страницу с помощью CSS.

Общие сведения

Содержимое добавленное с помощью ::after появляется после остального содержимого внутри элемента и по умолчанию отображается в строковом виде. Значение содержимого указывается с помощью свойства content.

Синтаксис псевдоэлемента

/* Старый синтаксис CSS2 */

.element:after {
  /* Здесь содержимое и стили */
}

/* Новый синтаксис CSS3 */

.element::after {
  /* Здесь содержимое и стили */
}

Поддержка браузерами

CSS Generated content for pseudo-elements

IE
9
0.04%
10
0.04%
11
2.04%
Edge
16
0.06%
17
0.52%
18
1.45%
76
0%
Firefox
67
0.05%
68
0.76%
69
2.5%
70
0.07%
71
0%
Chrome
75
0.69%
76
18.89%
77
6.32%
78
0.04%
79
0.01%
Safari
12
0.21%
12.1
1.48%
13
0.32%
13.1
0%
TP
0%
iOS Safari
12.0-12.1
0.56%
12.2-12.3
9.07%
13.0-13.1
0.8%
Chrome for Android
76
35.64%

Internet Explorer не поддерживает свойство z-index на псевдоэлементах.

Примечание

Разница между нотациями: (:) и (::)

Скорее всего вы встретите (или уже встречали) нотацию :after, которая использует одно двоеточие вместо двух.

В CSS1 и CSS2 псевдоэлементы определялись с помощью одного двоеточия (:), также как и псевдоклассы (например :hover). В CSS3 для псевдоэлементов была добавлена нотация с двумя двоеточиями чтобы отличать их от псевдоклассов.

Все браузеры, которые поддерживают нотацию с двумя двоеточиями также поддерживают и нотацию с одним двоеточием. Однако, Internet Explorer 8 не поддерживает нотацию с двойным двоеточием. Поэтому если вам не нужна поддержка Internet Explorer 8, то можете использовать вариант с двумя двоеточиями и не беспокоится за поддержку браузерами.

Доступность

Содержимое добавленное с помощью псевдоэлементов не добавляется в DOM, оно отображается только визуально. Следовательно, устройства для чтения экрана не смогут получить к нему доступ и прочитать содержимое сгенерированное с помощью псведоэлементов. Поэтому не рекомендуется использовать псевдоэлементы для добавления жизненно важного содержимого на страницу.

Псевдоэлементы в основном используются для добавления и стилизации косметического содержимого и на них нельзя полагаться при добавлении контента, который имеет отношение к значению и полноте содержимого на странице.
Кроме того, так как содержимое добавленное с помощью псевдоэлементов не добавляется в DOM, это означает, что вы не сможете применить к нему какие-либо обработчики событий с помощью JavaScript.

Пример

Ниже показан пример реализации эффекта наведения на элементы меню с помощью псевдоэлемента :after.