Псевдоэлемент CSS используется для стилизации определенных частей элемента.
Например, его можно использовать для:
Оформление первой буквы или линии элемента
Вставка содержимого до или после содержимого элемента
Синтаксис псевдоэлементов:
selector::pseudo-element {
property: value;
}Псевдоэлемент ::first-line используется для добавления специального стиля. в первую строку текста.
В следующем примере форматируется первая строка текста во всех тегах <p>. элементы:
p::first-line
{
color: #ff0000;
font-variant: small-caps;
}Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
p::first-line {
color: #ff0000;
font-variant: small-caps;
}
</style>
</head>
<body>
<p>You can use the ::first-line pseudo-element to add a special effect to the first line of a text. Some more text. And even more, and more, and more, and more, and more, and more, and more, and more, and more, and more, and more, and more.</p>
</body>
</html>
Примечание. Псевдоэлемент ::first-line можно применять только на уровне блока. элементы.
Следующие свойства применяются к ::first-line псевдоэлемент:
свойства шрифта
свойства цвета
свойства фона
межсловный интервал
Межбуквенное расстояние
текст-оформление
вертикальное выравнивание
преобразование текста
высота линии
прозрачный
Обратите внимание на двойное двоеточие: ::first-line по сравнению с :first-line
Двойное двоеточие заменило одинарное двоеточие обозначение псевдоэлементов в CSS3. Это была попытка W3C различать псевдоклассы и псевдоэлементы.
Использовался синтаксис с одним двоеточием. как для псевдоклассов, так и для псевдоэлементов в CSS2 и CSS1.
Для обратная совместимость, синтаксис с одним двоеточием приемлем для CSS2 и CSS1. псевдоэлементы.
Псевдоэлемент ::first-letter используется для добавления специального стиля к первому элементу. буква текста.
В следующем примере первая буква текста форматируется во всех <p>. элементы:
p::first-letter
{
color: #ff0000;
font-size: xx-large;
}Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
p::first-letter {
color: #ff0000;
font-size: xx-large;
}
</style>
</head>
<body>
<p>You can use the ::first-letter pseudo-element to add a special effect to the first character of a text!</p>
</body>
</html>
Примечание. Псевдоэлемент ::first-letter можно применять только на уровне блока. элементы.
К псевдоэлементу ::first-letter применяются следующие свойства:
свойства шрифта
свойства цвета
свойства фона
свойства маржи
свойства заполнения
свойства границ
текст-оформление
вертикальное выравнивание (только если «float» равно «none»)
преобразование текста
высота линии
плавать
прозрачный
Псевдоэлементы можно комбинировать с классами HTML:
p.intro::first-letter {
color: #ff0000;
font-size: 200%;
} Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
p.intro::first-letter {
color: #ff0000;
font-size: 200%;
}
</style>
</head>
<body>
<p class="intro">This is an introduction.</p>
<p>This is a paragraph with some text. A bit more text even.</p>
</body>
</html>
В приведенном выше примере первая буква абзаца будет отображаться с class="intro", в красный и большего размера.
Также можно комбинировать несколько псевдоэлементов.
В следующем примере первая буква абзаца будет красной, в размер шрифта xx-большой. Остальная часть первой строки будет синей, а в с маленькой кепкой. Остальная часть абзаца будет иметь размер и цвет шрифта по умолчанию:
p::first-letter
{
color: #ff0000;
font-size: xx-large;
}
p::first-line
{
color: #0000ff;
font-variant: small-caps;
}Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
p::first-letter {
color: #ff0000;
font-size: xx-large;
}
p::first-line {
color: #0000ff;
font-variant: small-caps;
}
</style>
</head>
<body>
<p>You can combine the ::first-letter and ::first-line pseudo-elements to add a special effect to the first letter and the first line of a text!</p>
</body>
</html>
Псевдоэлемент ::before можно использовать для вставки некоторого содержимого перед содержимым элемента.
В следующем примере изображение вставляется перед содержимым каждого элемента <h1>:
h1::before
{
content: url(smiley.gif);
}Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
h1::before {
content: url(smiley.gif);
}
</style>
</head>
<body>
<h1>This is a heading</h1>
<p>The ::before pseudo-element inserts content before the content of an element.</p>
<h1>This is a heading</h1>
</body>
</html>
Псевдоэлемент ::after можно использовать для вставки некоторого содержимого после содержимого элемента.
В следующем примере изображение вставляется после содержимого каждого элемента <h1>:
h1::after
{
content: url(smiley.gif);
}Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
h1::after {
content: url(smiley.gif);
}
</style>
</head>
<body>
<h1>This is a heading</h1>
<p>The ::after pseudo-element inserts content after the content of an element.</p>
<h1>This is a heading</h1>
</body>
</html>
Псевдоэлемент ::marker выбирает маркеры элементов списка.
В следующем примере стилизуются маркеры элементов списка:
::marker {
color: red;
font-size: 23px;
}Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
::marker {
color: red;
font-size: 23px;
}
</style>
</head>
<body>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
<ol>
<li>First</li>
<li>Second</li>
<li>Third</li>
</ol>
</body>
</html>
Псевдоэлемент ::selection соответствует части элемента, которая выбран пользователем.
Следующие свойства CSS можно применить к ::selection: цвет, фон, курсор и контур.
В следующем примере выделенный текст становится красным на желтом фоне:
::selection {
color: red;
background: yellow;
}Попробуйте сами →
<!DOCTYPE html>
<html>
<head>
<style>
::selection {
color: red;
background: yellow;
}
</style>
</head>
<body>
<h1>Select some text on this page:</h1>
<p>This is a paragraph.</p>
<div>This is some text in a div element.</div>
</body>
</html>
Пример
p::afterПример описания
Вставьте что-нибудь после содержимого каждого элемента <p>.
Пример
p::beforeПример описания
Вставьте что-нибудь перед содержимым каждого элемента <p>.
Пример
p::first-letterПример описания
Выбирает первую букву каждого элемента <p>
Пример
p::first-lineПример описания
Выбирает первую строку каждого элемента <p>
Пример
::markerПример описания
Выбирает маркеры элементов списка
Пример
p::selectionПример описания
Выбирает часть элемента, выбранную пользователем.
Пример
a:activeПример описания
Выбирает активную ссылку
Пример
input:checkedПример описания
Выбирает каждый отмеченный элемент <input>
Пример
input:disabledПример описания
Выбирает каждый отключенный элемент <input>
Пример
p:emptyПример описания
Выбирает каждый элемент <p>, у которого нет дочерних элементов.
Пример
input:enabledПример описания
Выбирает каждый включенный элемент <input>
Пример
p:first-childПример описания
Выбирает каждый элемент <p>, который является первым дочерним элементом своего родителя.
Пример
p:first-of-typeПример описания
Выбирает каждый элемент <p>, который является первым элементом <p> его родительского элемента.
Пример
input:focusПример описания
Выбирает элемент <input>, имеющий фокус.
Пример
a:hoverПример описания
Выбирает ссылки при наведении курсора мыши
Пример
input:in-rangeПример описания
Выбирает элементы <input> со значением в указанном диапазоне.
Пример
input:invalidПример описания
Выбирает все элементы <input> с недопустимым значением.
Пример
p:lang(it)Пример описания
Выбирает каждый элемент <p> со значением атрибута lang, начинающимся с «it».
Пример
p:last-childПример описания
Выбирает все элементы <p>, которые являются последними дочерними элементами своего родителя.
Пример
p:last-of-typeПример описания
Выбирает каждый элемент <p>, который является последним элементом <p> его родительского элемента.
Пример
a:linkПример описания
Выбирает все непосещенные ссылки
Пример
:not(p)Пример описания
Выбирает каждый элемент, который не является элементом <p>
Пример
p:nth-child(2)Пример описания
Выбирает каждый элемент <p>, который является вторым дочерним элементом своего родителя.
Пример
p:nth-last-child(2)Пример описания
Выбирает каждый элемент <p>, который является вторым дочерним элементом своего родителя, считая от последнего дочернего элемента.
Пример
p:nth-last-of-type(2)Пример описания
Выбирает каждый элемент <p>, который является вторым элементом <p> своего родителя, считая от последнего дочернего элемента.
Пример
p:nth-of-type(2)Пример описания
Выбирает каждый элемент <p>, который является вторым элементом <p> его родительского элемента.
Пример
p:only-of-typeПример описания
Выбирает каждый элемент <p>, который является единственным элементом <p> его родительского элемента.
Пример
p:only-childПример описания
Выбирает каждый элемент <p>, который является единственным дочерним элементом своего родителя.
Пример
input:optionalПример описания
Выбирает элементы <input> без «обязательного» атрибута.
Пример
input:out-of-rangeПример описания
Выбирает элементы <input> со значением вне указанного диапазона.
Пример
input:read-onlyПример описания
Выбирает элементы <input> с указанным атрибутом «только для чтения».
Пример
input:read-writeПример описания
Выбирает элементы <input> без атрибута «только для чтения».
Пример
input:requiredПример описания
Выбирает элементы <input> с указанным «обязательным» атрибутом.
Пример
rootПример описания
Выбирает корневой элемент документа
Пример
#news:targetПример описания
Выбирает текущий активный элемент #news (при нажатии на URL-адрес, содержащий это имя привязки)
Пример
input:validПример описания
Выбирает все элементы <input> с допустимым значением.
Пример
a:visitedПример описания
Выбирает все посещенные ссылки