Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado. Consulte Mais informação.
As variáveis CSS, também conhecidas como propriedades personalizadas, ajudam a minimizar a repetição em suas folhas de estilo. Isso, por sua vez, ajuda você a economizar tempo e esforço ao fazer alterações em seu design. Você também pode ter certeza de que não perderá nenhum valor que precise atualizar.
O acesso ao DOM permite criar variáveis, armazená-las e reutilizá-las em toda a sua folha de estilo.
Como definir e usar variáveis CSS
Para tornar suas folhas de estilo mais organizadas, sustentáveis e reutilizáveis, você pode utilizar variáveis CSS em qualquer propriedade que aceite um valor.
Veja o exemplo a seguir de um arquivo HTML e um arquivo CSS que não usa variáveis CSS.
HTML:
html> <htmlidioma="en"> <cabeça> <título>Variáveis CSS - Variações de botãotítulo> <linkrele="folha de estilo"href="Variáveis.css" /> cabeça> <corpo>
O .btn A classe usada na folha de estilo acima não é dinâmica e faz com que você crie uma classe separada para personalizar botões individuais. A criação de sites bonitos exige que você seja dinâmico com seu estilo de front-end. A implementação de botões dessa maneira simplesmente tornará essa tarefa difícil de ser realizada.
Como a maioria das linguagens de programação, você precisa inicializar e substituir as variáveis CSS.
Para inicializar uma variável CSS, prefixe o nome da variável com hífens duplos:
:raiz{ /*variável CSS*/ --variable_name: valor; }
Você pode inicializar uma variável em qualquer lugar, mas observe que só poderá usar essa variável dentro do seletor inicializado. Por causa disso, as variáveis CSS são inicializadas convencionalmente dentro do seletor raiz. Isso visa o elemento de nível mais alto do DOM e permite que as variáveis sejam acessíveis por todo o documento HTML em escala global.
Para substituir a variável em seu estilo CSS, você usará o var() propriedade:
.btn { preenchimento: 1rem 1.5rem; fundo: transparente; peso da fonte: 700; cor: var(--primário); cor de fundo: var(--secundário); }
.sub-primário { cor: var(--secundário); cor de fundo: var(--primário); }
O seletor raiz contém duas variáveis: --primário e --secundário. Ambas as variáveis são então substituídas no .btn class como uma cor e cor de fundo, respectivamente.
Usando as variáveis, você pode estilizar elementos individuais com muito mais facilidade. Ao reutilizar variáveis, você pode alterar rapidamente um valor uma vez para atualizá-lo em todas as instâncias.
O var() propriedade também pode receber um segundo argumento. Esse argumento atua como um valor de fallback para o primeiro argumento em uma situação em que o primeiro não está definido ou é inválido.
Neste exemplo, substitua o --primário variável em cor estilo. Se, por algum motivo, esse valor falhar, a folha de estilo usará o segundo valor como substituto. Você também pode usar outra variável CSS como um valor alternativo.
Manipulando e substituindo variáveis CSS com JavaScript
A manipulação de variáveis CSS usando JavaScript pode ser uma maneira poderosa de alterar a aparência do seu site rapidamente. Usando JavaScript, você pode atualizar os valores dessas variáveis e ver as alterações refletidas em seu site.
É importante observar que as alterações feitas com JavaScript serão aplicadas apenas à sessão atual. Você deve atualizar a fonte original ou armazene o novo valor no cliente, como em um cookie, para persistir as alterações.
Aqui está um exemplo de como usar JavaScript para atualizar o valor de uma variável CSS.
HTML:
html> <htmlidioma="en"> <cabeça> <título>Variáveis CSS - Variações de botãotítulo> <linkrele="folha de estilo"href="Variáveis.css" /> <roteiro> funçãomudar cor() { // Obtém o elemento no qual você deseja alterar a variável const meuElemento = documento.querySelector(":raiz");
// Obtém o valor atual da variável deixar currentValue = getComputedStyle (meuElemento).getPropertyValue( "--secundário" );
// Definir o novovalorpara o variável meuElemento.estilo.setProperty("--secundário", "#DAF7A6"); } roteiro> cabeça> <corpo> <div> <h1>Variáveis CSSh1> <div> aula="btn sub-primário" ao clicar="mudar cor()"> primário botão> aula="btn">Secundário</button> div> div> corpo> html>
.sub-primário { cor: var(--primário); cor de fundo: var(--secundário); }
Neste código JavaScript, o mudar cor() A função atualiza a cor do primeiro botão quando o usuário clica nele.
Usando Métodos de travessia do DOM, você pode acessar as classes ou seletores aplicados em seu documento HTML e manipular os valores.
Antes de clicar no botão:
Após clicar no botão:
Você também pode usar JavaScript para criar novas variáveis CSS ou removê-las completamente.
Por exemplo:
// Criar a novovariável documento.documentElement.style.setProperty('--nova cor', 'azul');
// Remove uma variável documento.documentElement.style.removeProperty('--nova cor');
Usando variáveis CSS com pré-processadores
O uso de variáveis na tecnologia de front-end foi inicialmente obtido com pré-processadores CSS como SASS, MENOS e Stylus.
O propósito dos pré-processadores CSS é desenvolver código que estenda as capacidades fundamentais do CSS padrão. Em seguida, tenha esse código compilado em CSS padrão para o navegador entender, assim como como o TypeScript funciona com JavaScript.
Com o desenvolvimento de variáveis CSS, os pré-processadores não são mais tão importantes, mas ainda podem oferecer alguma utilidade se combinados com variáveis CSS em seu projeto.
Você pode definir uma variável SASS $ cor principal e use-o para definir o valor de uma variável CSS. Em seguida, use a variável CSS em uma classe de estilo regular.
Você também pode usar funções SASS para manipular os valores das variáveis CSS.
.btn { cor: var(--primário); cor de fundo: var(--secundário); }
Aqui, a função SASS clarear() manipula o valor de --primário obter um valor para --secundário.
Observe que as variáveis SASS não são acessíveis por JavaScript. Portanto, se você precisar manipular os valores de suas variáveis em tempo de execução, use variáveis CSS.
Usando variáveis CSS e pré-processadores juntos, você pode aproveitar ambos os benefícios, como usar poderosos recursos de pré-processador, como loops e funções, e recursos de variáveis CSS, como CSS em cascata.
Dicas para usar variáveis CSS no desenvolvimento da Web
Aqui estão algumas dicas importantes a serem observadas que ajudarão você a utilizar melhor as variáveis CSS.
Comece com uma convenção de nomenclatura clara
Escolha uma convenção de nomenclatura para suas variáveis que as torne fáceis de entender e usar. Por exemplo, use um prefixo como --cor- para variáveis de cor ou --espaçamento- para variáveis de espaçamento.
Use variáveis em consultas de mídia para facilitar o ajuste de seu design para diferentes tamanhos de tela.
Aproveite a natureza em cascata do CSS
Lembre-se de que as variáveis CSS estão em cascata, o que significa que, se você definir uma variável em um elemento pai, ela afetará todos os seus filhos.
Use variáveis CSS com cuidado
O uso de muitas variáveis CSS pode causar confusão, portanto, use-as com cautela e somente quando fizer sentido e melhorar a capacidade de manutenção do seu código.
Teste suas variáveis
As variáveis CSS são uma maneira única de escrever um código claro e sustentável em sua folha de estilo.
É importante observar que eles ainda não são totalmente suportados em todos os navegadores. Portanto, você deve testar suas variáveis quanto à compatibilidade do navegador para garantir que elas estejam funcionando conforme o esperado e que quaisquer valores alternativos funcionem conforme o esperado.