Кастомні властивості (--*) – змінні CSS
Імена властивостей, що починаються з --
, наприклад, --example-name
, є своєрідними властивостями, котрі містять значення, що можуть бути використані в інших оголошеннях за допомогою функції var()
.
Сфера застосування своєрідних властивостей обмежена елементом (елементами), на котрих вони оголошені, а також їм властива каскадність: значення певної своєрідної властивості береться з оголошення, обраного каскадним алгоритмом.
Початкове значення | see prose |
---|---|
Успадковується | так |
Обчислене значення | as specified with variables substituted |
Синтаксис
--some-keyword: left;
--some-color: #0000ff;
--some-complex-value: 3px 6px rgb(20 32 54);
<declaration-value>
Це значення захоплює будь-яку послідовність з однієї чи більше лексем, поки не зустрінеться неприпустима лексема. Воно представляє усю повноту того, що дійсне оголошення може мати за своє значення.
[!NOTE] Імена своєрідних властивостей чутливі до регістру:
--my-color
вважатиметься окремою своєрідною властивістю поруч із--My-color
.
Приклад
HTML
<p id="firstParagraph">Цей абзац повинен мати синє тло та жовтий текст.</p>
<p id="secondParagraph">Цей абзац повинен мати жовте тло та синій текст.</p>
<div id="container">
<p id="thirdParagraph">Цей абзац повинен мати зелене тло та жовтий текст.</p>
</div>
CSS
:root {
--first-color: #16f;
--second-color: #ff7;
}
#firstParagraph {
background-color: var(--first-color);
color: var(--second-color);
}
#secondParagraph {
background-color: var(--second-color);
color: var(--first-color);
}
#container {
--first-color: #290;
}
#thirdParagraph {
background-color: var(--first-color);
color: var(--second-color);
}
Результат
Специфікації
Специфікація |
---|
CSS Custom Properties for Cascading Variables Module Level 2 (CSS Variables 2) # defining-variables |
Сумісність із браузерами
desktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
--*
|
Chrome Full support 49 | Edge Full support 15 | Firefox Full support 31 | Internet Explorer No support Ні | Opera Full support 36 | Safari Full support 9.1 | WebView Android Full support 49 | Chrome Android Full support 49 | Firefox for Android Full support 31 | Opera Android Full support 36 | Safari on iOS Full support 9.3 | Samsung Internet Full support 5.0 |
env()
|
Chrome Full support 69 | Edge Full support 79 | Firefox Full support 65 | Internet Explorer No support Ні | Opera Full support 56 | Safari Full support 11.1 | WebView Android Full support 69 | Chrome Android Full support 69 | Firefox for Android Full support 65 | Opera Android Full support 48 | Safari on iOS Full support 11.3 | Samsung Internet Full support 10.0 |
Safe area inset variable safe-area-inset-bottom
|
Chrome Full support 69 | Edge Full support 79 | Firefox Full support 65 | Internet Explorer No support Ні | Opera Full support 56 | Safari Full support 11 | WebView Android Full support 69 | Chrome Android Full support 69 | Firefox for Android Full support 65 | Opera Android Full support 48 | Safari on iOS Full support 11 | Samsung Internet Full support 10.0 |
Safe area inset variable safe-area-inset-left
|
Chrome Full support 69 | Edge Full support 79 | Firefox Full support 65 | Internet Explorer No support Ні | Opera Full support 56 | Safari Full support 11 | WebView Android Full support 69 | Chrome Android Full support 69 | Firefox for Android Full support 65 | Opera Android Full support 48 | Safari on iOS Full support 11 | Samsung Internet Full support 10.0 |
Safe area inset variable safe-area-inset-right
|
Chrome Full support 69 | Edge Full support 79 | Firefox Full support 65 | Internet Explorer No support Ні | Opera Full support 56 | Safari Full support 11 | WebView Android Full support 69 | Chrome Android Full support 69 | Firefox for Android Full support 65 | Opera Android Full support 48 | Safari on iOS Full support 11 | Samsung Internet Full support 10.0 |
Safe area inset variable safe-area-inset-top
|
Chrome Full support 69 | Edge Full support 79 | Firefox Full support 65 | Internet Explorer No support Ні | Opera Full support 56 | Safari Full support 11 | WebView Android Full support 69 | Chrome Android Full support 69 | Firefox for Android Full support 65 | Opera Android Full support 48 | Safari on iOS Full support 11 | Samsung Internet Full support 10.0 |
Window Controls Overlay variable titlebar-area-height
|
Chrome Full support 93 | Edge Full support 93 | Firefox No support Ні | Internet Explorer No support Ні | Opera Full support 78 | Safari No support Ні | WebView Android No support Ні | Chrome Android Full support 93 | Firefox for Android No support Ні | Opera Android Full support 65 | Safari on iOS No support Ні | Samsung Internet Full support 17.0 |
Window Controls Overlay variable titlebar-area-width
|
Chrome Full support 93 | Edge Full support 93 | Firefox No support Ні | Internet Explorer No support Ні | Opera Full support 78 | Safari No support Ні | WebView Android No support Ні | Chrome Android Full support 93 | Firefox for Android No support Ні | Opera Android Full support 65 | Safari on iOS No support Ні | Samsung Internet Full support 17.0 |
Window Controls Overlay variable titlebar-area-x
|
Chrome Full support 93 | Edge Full support 93 | Firefox No support Ні | Internet Explorer No support Ні | Opera Full support 78 | Safari No support Ні | WebView Android No support Ні | Chrome Android Full support 93 | Firefox for Android No support Ні | Opera Android Full support 65 | Safari on iOS No support Ні | Samsung Internet Full support 17.0 |
Window Controls Overlay variable titlebar-area-y
|
Chrome Full support 93 | Edge Full support 93 | Firefox No support Ні | Internet Explorer No support Ні | Opera Full support 78 | Safari No support Ні | WebView Android No support Ні | Chrome Android Full support 93 | Firefox for Android No support Ні | Opera Android Full support 65 | Safari on iOS No support Ні | Samsung Internet Full support 17.0 |
var()
|
Chrome Full support 49 | Edge Full support 15 | Firefox Full support 31 | Internet Explorer No support Ні | Opera Full support 36 | Safari Full support 9.1 | WebView Android Full support 50 | Chrome Android Full support 49 | Firefox for Android Full support 31 | Opera Android Full support 36 | Safari on iOS Full support 9.3 | Samsung Internet Full support 5.0 |
Дивіться також
- Функція
var()
- Директива
@property
- Посібник Використання кастомних властивостей (змінних) CSS
- Модуль Кастомних властивостей як каскадних змінних CSS