Псевдоэлементы в CSS
Простые селекторы и псевдоклассы позволяют работать с любым элементом страницы, но и этого иногда не достаточно. Для работы с содержимым тега используются псевдоэлементы (например, для доступа к первой букве или первой строке содержимого элемента). Псевдоэлементы предоставляют возможность обратиться к содержимому, которое не существует в исходном документе (например, псевдоэлементы ::before
и ::after
дают доступ к генерируемому содержимому).
Запись псевдоэлемента начинается с двух двоеточий
, за которыми следует имя псевдоэлемента. Двойное двоеточие введено для разделения понятий псевдоклассов и псевдоэлементов. Для совместимости со старыми версиями стилей допускается использовать одно двоеточие для псевдоэлементов, введенных в CSS 1 и CSS 2 (а именно, ::
:first-line
, :first-letter
, :before
и :after
). Для новых вводимых псевдоэлементов такая совместимость не будет предоставлена.
Только один псевдоэлемент может использоваться в селекторе, и только с тем элементом, к которому применяются стили. Возможно, в будущем будет возможность применять несколько псевдоэлементов в селекторе.
Краткое описание
::first-line
- Описывает содержимое первой форматируемой строки элемента. Следует понимать, что длина первой строки зависит от ряда факторов, в том числе от ширины страницы, размера шрифта и др.
::first-letter
- Псевдоэлемент, представляющий собой первую букву элемента, если ей не предшествует любой другой контент (например, изображения или встроенные таблицы). Этот псевдоэлемент может быть использован для красивого оформления
буквицы
. Знак препинания, который предшествует или следует за первой буквой, включается в данный элемент. ::before
,::after
- Используются совместно со свойством
content
. Определяют, где будет располагаться генерируемое содержимое - до или после содержимого тега.