Что такое псевдоэлементы?
Псевдоэлементы — это специальные ключевые слова в CSS, которые позволяют стилизовать определенную часть выбранного элемента. Они не существуют в HTML-разметке, но создаются с помощью CSS для добавления декоративного или функционального содержимого.
Основные псевдоэлементы
Наиболее часто используемые псевдоэлементы:
-
::before — создает псевдоэлемент перед содержимым выбранного элемента.
-
::after — создает псевдоэлемент после содержимого выбранного элемента.
-
::first-letter — стилизует первую букву текста внутри элемента.
-
::first-line — стилизует первую строку текста внутри элемента.
-
::selection — стилизует выделенный пользователем текст.
Синтаксис псевдоэлементов
Псевдоэлементы добавляются к селектору с помощью двойного двоеточия (::), за которым следует название псевдоэлемента.
Обязательное свойство content
Для псевдоэлементов ::before и ::after обязательно нужно указывать свойство content. Это свойство определяет, что будет отображаться в псевдоэлементе. Даже если вы не хотите добавлять текст или символы, свойство content должно быть указано, но может быть пустым:
p::before {
content: ''; /* Пустое содержимое */
}
Примеры использования псевдоэлементов
1. Добавление декоративного элемента перед текстом
p::before {
content: '\9996';
}
Результат:
Каждый параграф <p> будет начинаться с символа, заданного Unicode кодом 9996 (подробнее про Unicode символы)
2. Добавление декоративного элемента после текста
a::after {
content: ' ↗';
color: blue;
}
Результат:
После каждой ссылки <a> будет добавлен синий символ стрелки.
3. Стилизация первой буквы
p::first-letter {
font-size: 24px;
color: red;
font-weight: bold;
}
Результат:
Первая буква каждого параграфа будет крупной, красной и жирной.
4. Стилизация первой строки
p::first-line {
font-weight: bold;
color: navy;
}
Результат:
Первая строка каждого параграфа будет выделена жирным шрифтом и темно-синим цветом.
5. Стилизация выделенного текста
::selection {
background-color: yellow;
color: black;
}
Результат:
Когда пользователь выделяет текст на странице, он будет окрашен в черный цвет на желтом фоне.
Особенности псевдоэлементов
-
Не существуют в HTML: Псевдоэлементы создаются только с помощью CSS и не отображаются в DOM.
-
Могут быть стилизованы: К псевдоэлементам можно применять любые CSS-свойства, такие как color, background, font-size, margin, padding и т.д.
-
Могут быть анимированы: Псевдоэлементы поддерживают CSS-анимации и переходы (transition).
-
Могут быть использованы с любыми элементами: Псевдоэлементы можно применять к любым HTML-элементам, включая div, p, a, span и другие.