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

::after

CSS::after
mangohost

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

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

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

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

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

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

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

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

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

CSS Generated content for pseudo-elements

IE
9
0.09%
10
0.01%
11
0.44%
Edge
105
0.8%
106
3.08%
107
0.25%
Firefox
104
0.07%
105
1.51%
106
0.68%
107
0.01%
108
0%
Chrome
105
6.01%
106
15.7%
107
0.64%
108
0.02%
109
0.01%
Safari
15.6
1.63%
16.0
0.5%
16.1
0.07%
16.2
0%
TP
0%
Safari on iOS
15.6
6.72%
16.0
4.55%
16.1
0.24%
Chrome for Android
107
40.28%

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

Примечание

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

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

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

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

Доступность

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

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

Пример

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

mangohost