CSS Псевдо-елементи
Що таке псевдо-елементи?
CSS псевдо-елемент використовується для стилізації визначених частин елемента.
Наприклад, його можна використовувати для:
- Стилізації першої літери або рядка елемента
- Вставки змісту до або після змісту елемента
Синтаксис
Синтаксис псевдо-елементів:
selector::pseudo-element {
property:value;
}
Псевдо-елемент ::first-line
Псевдо-елемент ::first-line
використовується для додавання спеціального стилю до першого рядка тексту.
В наступному прикладі форматується перший рядок тексту в усіх елементах
:<p>
Примітка: Псевдо-елемент ::first-line
може застосовуватись лише до блочних елементів.
Наступні властивості відносяться до псевдо-елементу ::first-line
:
- font properties
- color properties
- background properties
- word-spacing
- letter-spacing
- text-decoration
- vertical-align
- text-transform
- line-height
- clear
Зверніть увагу на подвійну двокрапку - ::first-line
в порівнянні з :first-line
Подвійна двокрапка замінила запис з двокрапкою для псевдо-елементів в CSS3. Це була спроба W3C зробити різницю між псевдо-класами та псевдо-елементами.
Синтаксис з одинарною двокрапкою використовувався для псевдо-класів та псевдо-елементів в CSS2 та CSS1.
Для зворотньої сумісності синтаксис з одною двокрапкою підходить для псевдо-елементів в CSS2 та CSS1.
Псевдо-елемент ::first-letter
Псевдо-елемент ::first-letter
використовується для додавання спеціального стилю до першої літери тексту.
В наступному прикладі форматується перша літера тексту в усіх елементах
:<p>
Примітка: Псевдо-елемент ::first-letter
може застосовуватись лише до блочних елементів.
Наступні властивості застосовуються до псевдо-елементу ::first-letter:
- font properties
- color properties
- background properties
- margin properties
- padding properties
- border properties
- text-decoration
- vertical-align (тільки якщо "float" встановлено "none")
- text-transform
- line-height
- float
- clear
Псевдо-елементи та CSS класи
Псевдо-елементи можна комбінувати із CSS-класами:
В наведеному вище прикладі перша літера параграфу будет відображатися із class="intro", червоним та великим (вдвічі більшим) розміром.
Кілька псевдо-елементів
Кілька псевдо-елементів також можуть бути об’єднані.
В наступному прикладі перша літера параграфу буде червоного кольору з розміром шрифту xx-Large. Інша частина першого рядка буде синьою, а також заголовними літерами. Інша частина параграфа буде розміром і кольором шрифта за замовчуванням:
Приклад
p::first-letter {
color: #ff0000;
font-size: xx-large;
}
p::first-line {
color: #0000ff;
font-variant: small-caps;
}
Спробуйте самі »
CSS псевдо-елемент - ::before
Псевдо-елемент ::before
може використовуватись для вставки деякого змісту перед змістом елемента.
В наступному прикладі вставляється зображення перед змістом кожного елемента <h1>
:
CSS псевдо-елемент - ::after
Псевдо-елемент ::after
може використовуватись для вставки деякого змісту після змісту елемента.
В наступному прикладі вставляється зображення після змісту кожного елемента <h1>
:
CSS псевдо-елемент - ::marker
Псевдо-елемент ::marker
обирає маркери елементів списку.
В наступному прикладі стилі маркерів елементів списку:
CSS псевдо-елемент - ::selection
Псевдо-елемент ::selection
відповідає частині елемента, обраної користувачем.
Наступні CSS властивості можуть бути застосовані до ::selection
:
color
, background
, cursor
та outline
.
В наступному прикладі виділений текст стає червоним на жовтому фоні:
Перевірте себе за допомогою вправ!
Всі CSS Псевдо-елементи
Селектор | Приклад | Опис |
---|---|---|
::after | p::after | Вставляє щось після змісту кожного елемента <p> |
::before | p::before | Вставляє щось перед змістом кожного елемента <p> |
::first-letter | p::first-letter | Обирає першу літеру кожного елемента <p> |
::first-line | p::first-line | Обирає перший рядок кожного елемента <p> |
::selection | p::selection | Обирає частину елемента, яка обрана користувачем |
Всі CSS Псевдо-класи
Селектор | Приклад | Опис |
---|---|---|
:active | a:active | Обирає активне посилання |
:checked | input:checked | Обирає кожен перевірений елемент <input> |
:disabled | input:disabled | Обирає кожен відключений елемент <input> |
:empty | p:empty | Обирає кожен елемент <p> який не має дочірніх елементів |
:enabled | input:enabled | Обирає кожен включений елемент <input> |
:first-child | p:first-child | Обирає кожен елемент <p> , який є першим дочірнім елементом свого предка. |
:first-of-type | p:first-of-type | Обирає кожен елемент <p> , який є першим елементом <p> свого предка |
:focus | input:focus | Обирає елемент <input> , який має фокус |
:hover | a:hover | Обирає посилання при наведенні миші |
:in-range | input:in-range | Обирає елементи <input> зі значенням у вказаному діапазоні |
:invalid | input:invalid | Обирає всі елементи <input> з недопустимим значенням |
:lang(language) | p:lang(it) | Обирає кожен елемент <p> зі значенням атрибута lang, що починається з "it" |
:last-child | p:last-child | Обирає кожен елемент <p> , який є останнім дочірнім елементом свого предка. |
:last-of-type | p:last-of-type | Обирає кожен елемент <p> який є останнім елементом <p> свого предка |
:link | a:link | Обирає всі не відвідувані посилання |
:not(selector) | :not(p) | Обирає кожен елемент, який не є елементом <p> |
:nth-child(n) | p:nth-child(2) | Обирає кожен елемент <p> який є другим дочірнім елементом свого предка. |
:nth-last-child(n) | p:nth-last-child(2) | Обирає кожен елемент <p> який є другим дочірнім елементом свого предка, рахуючи від останнього дочірнього елемента |
:nth-last-of-type(n) | p:nth-last-of-type(2) | Обирає кожен елемент <p> який є другим елементом <p> свого предка, рахуючи від останнього нащадка |
:nth-of-type(n) | p:nth-of-type(2) | Обирає кожен елемент <p> , який є другим елементом <p> свого предка |
:only-of-type | p:only-of-type | Обирає кожен елемент <p> який є єдиним елементом <p> свого предка |
:only-child | p:only-child | Обирає кожен елемент <p> який є єдиним нащадком свого предка |
:optional | input:optional | Обирає елементи <input> без атрибута "required" |
:out-of-range | input:out-of-range | Обирає елементи <input> зі значенням поза вказаним діапазоном |
:read-only | input:read-only | Обирає елементи <input> зі вказаним атрибутом "readonly" |
:read-write | input:read-write | Обирає елементи <input> без атрибута "readonly" |
:required | input:required | Обирає елементи <input> зі вказаним атрибутом "required" |
:root | root | Обирає кореневий елемент документа |
:target | #news:target | Обирає поточний активний елемент #news (при натисканні на URL-адресу, що містить це ім’я якоря) |
:valid | input:valid | Обирає всі елементи <input> з допустимим значенням |
:visited | a:visited | Обирає всі відвідані посилання |