aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/css/var()/index.md
blob: a5ee137b1007cbde87fdde18d2d4c914c4635b83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
---
title: var()
slug: Web/CSS/var()
tags:
  - CSS
  - CSS Custom Properties
  - CSS Function
  - CSS Variables
  - Experimental
  - Function
  - Reference
  - Variables
  - var
  - var()
browser-compat: css.properties.custom-property.var
---
{{CSSRef}}

[Функция](/ru/docs/Web/CSS/CSS_Functions) [CSS](/ru/docs/Web/CSS) **`var()`** используется для вставки значения [кастомного свойства](/ru/docs/Web/CSS/--*) (также известного как "CSS-переменная") в другое свойство.

{{EmbedInteractiveExample("pages/css/var.html")}}

Функцию `var()` нельзя использовать в именах свойств, селекторах или где-либо ещё, кроме как в качестве значений для свойств.

## Синтаксис

Функции в качестве первого аргумента обязательно нужно передать имя кастомного свойства, значение которого нужно получить. Необязательный второй аргумент функции используется в качестве резервного значения. Если кастомное свойство, указанное в первом аргументе, оказалось недоступным, функция вернёт второе значение.

{{csssyntax}}

> **Примечание:** синтаксис резервного значения, как и синтаксис кастомного свойств, допускает использование запятых. Например, `var(--foo, red, blue)` задаёт резервное значение `red, blue`; таким образом всё, что находится между первой запятой и закрывающей скобкой, считается резервным значением.

### Значения

- `<custom-property-name>`
  - : Имя кастомного свойства, начинающиеся с двух дефисов. Кастомные свойства предназначены исключительно для разработчиков и пользователей; CSS никак не влияет на них.
- `<declaration-value>`
  - : Резервное значение кастомного свойства. Используется в случае, если кастомное свойство не определено или не может быть использовано в текущем контексте. Резервное значение может содержать любой символ, кроме некоторых спецсимволов, вроде символа новой строки, непарных закрывающих скобок (т.е. `)`, `]`, или `}`), точку с запятой или восклицательный знак.

## Примеры

### Использование кастомного свойства, определенного внутри :root

```css
:root {
  --main-bg-color: pink;
}

body {
  background-color: var(--main-bg-color);
}
```

### Кастомные свойства с резервным значением, когда свойство не было установлено

```css
/* Резервное значение */
/* Стили для элементов компонента: */
.component .header {
  color: var(--header-color, blue); /* header-color не существует, поэтому используется blue */
}

.component .text {
  color: var(--text-color, black);
}

/* Стили для самого компонента: */
.component {
  --text-color: #080;
}
```

## Спецификации

{{Specifications}}

## Поддержка браузерами

{{Compat}}

## Смотрите также

- {{cssxref("env()","env(…)")}} – доступные только для чтения переменные среды, контролируемые браузером
- [Использование CSS-переменных](/ru/docs/Web/CSS/Using_CSS_custom_properties)