--- title: var() slug: Web/CSS/var() translation_of: Web/CSS/var() ---
A função CSS var()
pode ser usada para inserir o valor de uma custom property (propriedade personalizada) substituindo qualquer parte do valor de outra propriedade.
var(--header-color, blue);
A função var()
não pode ser usada em nomes de propriedades, seletores ou qualquer outra coisa além de valores de propriedades. (Isso geralmente produz sintaxe inválida, ou então um valor cujo significado não tem conexão com a variável.)
O primeiro argumento da função é o nome da propriedade personalizada a ser substituída. O segundo argumento opcional da função serve como valor alternativo. Se a propriedade personalizada referenciada pelo primeiro argumento for inválida, a função usará o segundo valor.
{{csssyntax}}Nota: A sintaxe do argumento alternativo, assim como as propriedades personalizadas, permite o uso de vírgulas. Por exemplo, var(--foo, red, blue)
define como argumento alternativo red, blue
; isto é, qualquer coisa entre a primeira vírgula e o fim da função é considerado como valor do como argumento alternativo.
)
, ]
, ou }
, ponto e vírgula de primeiro nível, ou sinais de exclamação.:root { --main-bg-color: pink; } body { background-color: var(--main-bg-color); }
/* Argumento alternativo */ /* No estilo de componente: */ .component .header { color: var(--header-color, blue); } .component .text { color: var(--text-color, black); } /* No estilo de grandes aplicações: */ .component { --text-color: #080; /* header-color não está definido e, desse modo, permanece azul, o valor do argumento alternativo */ }
Especificação | Status | Comentário |
---|---|---|
{{SpecName('CSS3 Variables', '#using-variables', 'var()')}} | {{Spec2('CSS3 Variables')}} | Definição inicial |
{{CompatibilityTable}}
Recurso | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Suporte básico | 48[1] 49 |
15063[2] | {{CompatGeckoDesktop("29")}}[3] {{CompatGeckoDesktop("31")}} |
{{CompatNo}} | 36 | 9.3[4] |
Recurso | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Suporte básico | 50 | {{CompatGeckoDesktop("29")}} | {{CompatNo}} | 37 | 9.3[3] |
[1] No Chrome 48 este recurso é habilitado na configuração "Experimental Web Platform features" em chrome://flags
.
[2] Veja Edge Platform Status e 15063 Build Release Notes (2017-03-20).
[3] Esse recurso é implementado com base na preferência layout.css.variables.enabled
, cujo padrão é false
e usando a antiga sintaxe var-variablename
no Gecko 29. A partir do Gecko 31 esta preferência é habiliitada por padrão e a nova --variablename
sintaxe é utilizada. A partir do Gecko 55, a preferência layout.css.variables.enabled
foi removida completamente, assim o recurso está habilitado permanentemente e não pode ser desabilitado.
[4] Veja {{webkitbug(19660)}}.