Функція var() дозволяє вставляти значення змінних користувачів у значення стильових властивостей. var() не можна використовувати в іменах селекторів та властивостях.
Самі змінні користувача та їх значення описуються всередині довільного селектора і повинні починатися з двох дефісів. Через двокрапку змінної надається будь-яке допустиме для CSS значення.
aside {--my-font: Helvetica, Arial, sans-serif; }Для звернення до змінної --my-font використовується запис var(--my-font), яку можна вставляти як значення властивості. При цьому область видимості змінної обмежена вказаним селектором (aside у даному випадку) та застосування var(--my-font) в іншому селектор не дасть результату. Для створення глобальних змінних їх слід описати всередині селектора :root.
Синтаксис
<code>var( <змінна> [, <значення> ]?)
Позначення
| Опис | Приклад | |
|---|---|---|
| <тип> | Вказує тип значення . | <розмір> |
| A && B | Значення повинні виводитися в зазначеному порядку. | <розмір> && <колір> |
| A | B | Вказує, що потрібно вибрати лише одне значення із запропонованих (A або B). | normal | small-caps |
| A || B | Кожне значення може використовуватися самостійно або спільно з іншими у довільному порядку. | width || count |
| [ ] | Групує значення. | [ crop || cross ] |
| * | Повторювати нуль або більше разів. | [,<час>]* |
| + | Повторювати один або більше разів. | <число>+ |
| ? | Вказаний тип, слово або група не є обов'язковим. | inset? |
| {A, B} | Повторювати не менше A, але не більше B разів. | <радіус>{1,4} |
| # | Повторювати один або більше разів через кому. | <час># |
Значення
- <змінна>
- Ім'я змінної позначається двома дефісами попереду (--my-font).
- <значення>
- Резервне значення, яке підставляється замість заданого, у тому випадку, якщо змінна не визначена. Через кому можна вказати кілька значень.
Приклад
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>var()</title> <style> :root {--primary-color: #0275d8;--info-color: #5bc0de; }
button { padding: .5rem 1rem; border: none; }
.primary { color: var(--white, #fff); background-color: var(-primary-color); }
.info { color: var(--white, #fff); background-color: var(-info-color); }
p.info {--primary-color: #31708f; padding: 10px; background-color: #d9edf7; color: var(--primary-color); }
</style>
</head>
<body> <p class="info">Кнопки</p> <button class="primary">Типова кнопка</button> <button class="info">Інформація</button>
</body>
</html>У цьому прикладі вводяться дві змінні: --primary-color та --info-color. Змінна --white не визначена, тому підставляється вказане значення за промовчанням. Для селектора p.info значення змінної --primary-color перевизначається.
Специфікація
| Специфікація | Статус |
|---|---|
| CSS Custom Properties for Cascading Variables Module Level 1 | Можлива рекомендація |
Специфікація
Кожна специфікація проходить кілька стадій схвалення.
- Recommendation (Рекомендація) — специфікація схвалена W3C та річкою ендована як стандарт.
- Candidate Recommendation (Можлива рекомендація) — група, яка відповідає за стандарт, задоволена, як він відповідає своїм цілям, але потрібна допомога спільноти розробників з реалізації стандарту.) — на цьому етапі документ представлений на розгляд Консультативної ради W3C для остаточного затвердження. та внесення поправок для розгляду спільнотою.
- Editor's draft (Редакторська чернетка) — чорнова версія стандарту після внесення змін до редакторів проекту.
- Draft (Чернетка специфікації) — перша чорнова версія стандарту.
Браузери
| 15 | 49 | 36 | 9.1 | 31 |
| 31 | 37 | 9.3 |
Браузери
У таблиці браузерів застосовуються такі позначення.
- — властивість повністю підтримується браузером з усіма допустимими значеннями;
- — властивість браузером не сприймається та ігнорується;
- — при роботі можлива поява різних помилок, або властивість підтримується лише частково, наприклад, не всі допустимі значення діють або властивість застосовується не до всіх елементів, які вказані в специфікації. /b-modal>
Див. також
