CSS властивості
ГлавнаяДовідник CSSФункція var() в CSS

Функція var() в CSS

226

Функція 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>

    Див. також