CSS властивості
ГлавнаяВерсткаСтруктурний псевдоклас :root

Структурний псевдоклас :root

498

Псевдоклас :root відповідає кореневому елементу <html>. Таким чином, селектори :root і html застосовують стиль до одного і того ж елементу < html>.

Проте, між :root і html є невелика відмінність — у :root пріоритет вищий, ніж у селектора html. Якщо задати однакові стильові правила для цих селекторів, стиль :root перевизначить стиль html. У прикладі 1 показана така ситуація.

Приклад 1. Перевизначення стилю

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>:root</title> <style> :root { background-color: #00a651; /* Зелений колір тла */
color: #fff; /* Колір тексту */
} 
html { background-color: #f190ac; /* Рожевий колір фону */
}
</style>
</head>
<body> <p>Текст</p>
</body>
</html>

У цьому прикладі використовуються два селектори з однією властивістю background-color, але з різними значеннями. Оскільки пріоритет :root вищий, ніж у html, для веб-сторінки буде заданий зелений колір фону.

Псевдоклас :root також застосовується для визначення змінних, які можна вставляти замість конкретних значень стильових властивостей. Імена змінних починаються з двох дефісів, а значення змінної вказується після двокрапки. В цілому, ініціалізація змінних відбувається подібно до стильової властивості.

:root {--primary-color: #007bff; }

Надалі, для виклику значення змінної використовується ключове слово var, після якого в круглих дужках пишеться ім'я змінної.

a { color: var(--primary-color); }

Це правило відповідає наступному запису, тому що замість var(--primary-color) підставляється значення змінної --primary-color.

a { color: #007bff; }

Змінні зручно використовувати для великих сайтів з безліччю стильових правил, оскільки вони дозволяють задати типові значення в одному місці і легко при необхідності їх поміняти. Включати змінні у свій стиль не обов'язково, додавайте їх за бажання, виходячи з власних уподобань. стильових властивостей. У прикладі 2 показано застосування змінних для зміни виду кнопки.

Приклад 2. Змінні в CSS

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>:root</title> <style> :root {--primary-color: #00a651;--button-color: #fffac0;--primary-padding: .5rem 1rem; } 
button { background-color: var(--primary-color); color: var(--button-color); padding: var(--primary-padding); border: none; }
</style>
</head>
<body> <button>Текст</button>
</body>
</html>

У даному прикладі для :root ми визначаємо кілька змінних, а потім вставляємо їх як значення.

Браузер Internet Explorer не підтримує змінні і в ньому приклад 2 працювати не буде. Див. також

Автор та редактори

Автор: Влад Мержевич
Останнє змінення: 12.03.2020
Редактори: Влад Мержевич