Descubra o Poder das CSS Custom Properties em Seu Site

Imagine que você queira definir cores, espaçamentos ou até tamanhos que se repetem em várias partes de um site. Seria bem mais prático alterar tudo em um lugar só, certo? É exatamente esse o papel das CSSO que é CSS?O que é CSS?Descubra como o CSS transforma a aparência das páginas web, separando conteúdo de design para melhor organização e flexibilidade. Custom Properties: permitir criar “variáveisPré-processadores (SASS/SCSS): Variáveis, Mixins, NestingPré-processadores (SASS/SCSS): Variáveis, Mixins, NestingAprenda a manter seu CSS de forma otimizada com SASS/SCSS utilizando variáveis, mixins e nesting para um código limpo e produtivo.” dentro do próprio CSS. Esse conceito incentiva organização e mantém o código mais sustentável, já que facilita manutenções futuras e ajustes rápidos.

O que são CSS Custom Properties?🔗

CSS Custom Properties são valores declarados como variáveis no código CSS, que podem ser reutilizados em diversas regras. Antigamente, quando precisávamos de variáveisPré-processadores (SASS/SCSS): Variáveis, Mixins, NestingPré-processadores (SASS/SCSS): Variáveis, Mixins, NestingAprenda a manter seu CSS de forma otimizada com SASS/SCSS utilizando variáveis, mixins e nesting para um código limpo e produtivo., era comum recorrer a pré-processadores (como SASS), mas hoje o CSS nativo já oferece esse recurso através das custom properties.

Para criar uma custom property, basta usar o prefixo -- antes do nome, por exemplo:

--cor-principal: #3498db;

Depois, podemos “chamar” essa custom property em qualquer lugar do CSS por meio da funçãoFunções e Escopo no JavaScriptFunções e Escopo no JavaScriptAprenda a utilizar funções e escopos em JavaScript com nosso guia prático. Melhore sua organização de código e evolua seus projetos com boas práticas. varVariáveis, Tipos de Dados e OperadoresVariáveis, Tipos de Dados e OperadoresAprenda os conceitos essenciais de JavaScript, explorando variáveis, tipos de dados e operadores com exemplos claros e práticas dicas de programação.(). Assim:

color: var(--cor-principal);

A importância do :root🔗

O seletor :root funciona como a “raiz” do documento, equivalendo ao elementoTags e Elementos: Sintaxe e HierarquiaTags e Elementos: Sintaxe e HierarquiaDescubra os fundamentos do HTML: aprenda sobre tags, elementos, hierarquia e boas práticas para criar páginas bem estruturadas e acessíveis. <html> no HTMLO que é HTML? Fundamentos, História e Evolução da LinguagemO que é HTML? Fundamentos, História e Evolução da LinguagemDescubra a origem e evolução do HTML, entendendo sua importância na estrutura da web e como influenciou o desenvolvimento digital moderno.. Geralmente, definimos as custom properties ali porque dessa forma elas ficam disponíveis para uso em todo o site.

Exemplo:

:root {
  --cor-principal: #3498db;
  --fonte-base: 'Arial, sans-serif';
  --espacamento-padrao: 16px;
}

Neste trecho, criamos três custom properties:

Com isso, qualquer parte do código CSSO que é CSS?O que é CSS?Descubra como o CSS transforma a aparência das páginas web, separando conteúdo de design para melhor organização e flexibilidade. pode usar essas mesmas variáveisPré-processadores (SASS/SCSS): Variáveis, Mixins, NestingPré-processadores (SASS/SCSS): Variáveis, Mixins, NestingAprenda a manter seu CSS de forma otimizada com SASS/SCSS utilizando variáveis, mixins e nesting para um código limpo e produtivo. sem a necessidade de repetir valores. Basta resgatar cada uma com varVariáveis, Tipos de Dados e OperadoresVariáveis, Tipos de Dados e OperadoresAprenda os conceitos essenciais de JavaScript, explorando variáveis, tipos de dados e operadores com exemplos claros e práticas dicas de programação.(--nome-da-variavel).

Usando var()🔗

A funçãoFunções e Escopo no JavaScriptFunções e Escopo no JavaScriptAprenda a utilizar funções e escopos em JavaScript com nosso guia prático. Melhore sua organização de código e evolua seus projetos com boas práticas. varVariáveis, Tipos de Dados e OperadoresVariáveis, Tipos de Dados e OperadoresAprenda os conceitos essenciais de JavaScript, explorando variáveis, tipos de dados e operadores com exemplos claros e práticas dicas de programação.() substitui a custom property por seu valor real no momento em que o CSSO que é CSS?O que é CSS?Descubra como o CSS transforma a aparência das páginas web, separando conteúdo de design para melhor organização e flexibilidade. é processado. A sintaxe básica é:

propriedade: var(--nome-da-variavel, valor-de-fallback);

Observe que é possível passar um valor adicional de fallback, que será utilizado caso por algum motivo a custom property não esteja definida. Por exemplo:

button {
  background-color: var(--cor-principal, #555);
  color: #fff;
  font-family: var(--fonte-base, sans-serif);
  padding: var(--espacamento-padrao, 10px);
}

Se, porventura, --corSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos.-principal não estiver definida em nenhum lugar, o navegador usará #555. Isso é muito útil quando você está construindo temas ou experimentando code snippets em ambientes onde nem sempre controla o CSSO que é CSS?O que é CSS?Descubra como o CSS transforma a aparência das páginas web, separando conteúdo de design para melhor organização e flexibilidade. global.

Exemplo Prático🔗

Suponha que precisamos estilizar um card com título e descrição. Sem custom properties, repetiríamos valores de cor em várias declarações de estiloRelação entre HTML e CSSRelação entre HTML e CSSDescubra como HTML e CSS trabalham juntos para criar páginas web esteticamente agradáveis e bem estruturadas, facilitando a manutenção e o desempenho.. Já com custom properties, fazemos assim:

:root {
  --titulo-cor: #2c3e50;
  --descricao-cor: #7f8c8d;
  --bg-cor: #ecf0f1;
  --borda-raio: 8px;
}
.card {
  background-color: var(--bg-cor);
  border-radius: var(--borda-raio);
  padding: 20px;
  width: 300px;
}
.card h2 {
  color: var(--titulo-cor);
  margin-bottom: 10px;
}
.card p {
  color: var(--descricao-cor);
  line-height: 1.5;
}

Nesse exemplo, caso você mude --bg-corSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos. para outra corSeletores e Propriedades CSS EssenciaisSeletores e Propriedades CSS EssenciaisAprenda a dominar o CSS com nosso tutorial completo: entenda seletores, propriedades essenciais e técnicas para criar layouts modernos e atrativos. no :root, toda a área de fundo dos cards será atualizada automaticamente, sem ser preciso modificar cada classeAtributos HTML: `id`, `class`, `style`, `data-*`Atributos HTML: `id`, `class`, `style`, `data-*`Aprenda a aplicar atributos id, class, style e data-* no HTML para organizar, estilizar e dinamizar sua página com praticidade e eficiência. individualmente.

Vantagens e Boas Práticas🔗

PontoDescrição
SintaxeCrie variáveis com --nome-da-variavel e use em qualquer lugar com var(--nome-da-variavel).
EscopoGeralmente são definidas em :root para serem acessíveis em todo o documento.
FallbackÚtil para navegadores antigos ou para evitar erros: var(--nome, fallback).
ReutilizaçãoFacilita a alteração em grande escala do layout e a aplicação de temas em projetos complexos.

Conclusão🔗

As CSSO que é CSS?O que é CSS?Descubra como o CSS transforma a aparência das páginas web, separando conteúdo de design para melhor organização e flexibilidade. Custom Properties são um avanço significativo para a manutenção e colaboração em projetos de front-end. Entrar no hábito de defini-las sob o :root dá controle total sobre o tema e a identidade visual do seu site, economizando tempo e esforços em atualizações futuras. Ao dominá-las, você ganha um poderoso aliado para deixar seu CSSO que é CSS?O que é CSS?Descubra como o CSS transforma a aparência das páginas web, separando conteúdo de design para melhor organização e flexibilidade. mais dinâmico, organizado e escalável.

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

Compartilhar artigo