CSS-селекторы, такие как ::after
- это некоторые виртуальные элементы, которые недоступны в качестве явного элемента в дереве DOM. Они называются " псевдоэлементы " и используются для вставки некоторого содержимого до / после элемента (например: ::before
, ::after
) или выберите некоторую часть элемента (например: ::first-letter
). На данный момент существует всего 5 стандартных псевдоэлементов: after, before, first-letter, first-line, selection
.
С другой стороны, существуют другие типы селекторов, называемые " Псевдоклассы ", которые используются для определения специального состояния элемента ( вроде как :hover
, :focus
, :nth-child(n)
). Они выберут весь существующий элемент в DOM. Псевдоклассы - это длинный список из более чем 30 предметов.
Первоначально (в CSS2 и CSS1) синтаксис с одиночной двоеточием использовался как для псевдоклассов, так и для псевдоэлементов. Но в CSS3 синтаксис ::
заменил нотацию :
для псевдоэлементов, чтобы лучше их различать.
Для обратной совместимости старый синтаксис с одной двоеточием приемлем для псевдоэлементов, таких как :after
(все браузеры по-прежнему поддерживают старый синтаксис с одной точкой с запятой). Только IE-8 не поддерживает новый синтаксис (используйте одиночную двоеточие, если вы хотите поддерживать IE8).