Pular para o conteúdo principal

Tema Claro e Escuro com Variáveis CSS

Tema Claro e Escuro com Variáveis CSS



🌗 Tema Claro e Escuro com Variáveis CSS

Se você já trabalhou com Sass ou LESS, provavelmente lembra de usar variáveis para armazenar cores e reaproveitar em vários lugares do código. A grande novidade é que hoje o próprio CSS já oferece variáveis nativas, chamadas de CSS Custom Properties.

Essas variáveis são declaradas com dois traços (--) e podem ser acessadas com var(--nome). O legal é que elas são dinâmicas: você pode alterar o valor delas em tempo de execução, inclusive via JavaScript.

📝 Exemplo prático: modo claro/escuro

Com poucas linhas, conseguimos criar um tema claro e um tema escuro apenas mudando os valores das variáveis:

:root {
  --bg: #ffffff;
  --text: #111111;
  --card: #f3f4f6;
  --accent: #06b6d4;
}

body.dark {
  --bg: #0f1724;
  --text: #e6eef6;
  --card: #0b1220;
  --accent: #06b6d4;
}

body {
  background: var(--bg);
  color: var(--text);
  transition: background 0.3s, color 0.3s;
}

Basta trocar a classe do <body> para .dark e todas as cores do site mudam automaticamente. 🎉

🔄 Alternando o tema com JavaScript

Com uma simples função, você pode alternar o tema ao clicar em um botão:

function toggleTheme() {
  document.body.classList.toggle("dark");
}

🚀 Por que usar variáveis CSS?

  • Mais organização: centraliza as cores e estilos principais em um só lugar.
  • Facilidade de manutenção: quer mudar a cor de destaque? Basta alterar uma linha.
  • Flexibilidade: dá para mudar temas em tempo real com CSS ou JavaScript.
  • Compatibilidade: hoje em dia funciona em todos os navegadores modernos.

👉 Essa técnica é usada em praticamente todos os dashboards e sites modernos que oferecem modo claro e escuro.

Comentários

Postagens mais visitadas deste blog

Login com JavaScript

Procurando na web encontrei um código de login em javascript muito criativo onde o usuário inseria o nome de  usuário e a senha, então o script procurava a página usuariosenha.html , por exemplo se o usuário fosse "joc" e a senha "123" exixtiria página joc123.html. Deste modo o usuário só conseguiria acessar a página web se acertasse exatamente o nome da página, daí cada usuário teria uma página, o problema do script é que a senha ficava exposta, pois ficava salva na barra de endereço, então procurando aperfeiçoar criei um script melhorado, resolvendo a questão da segurança, desta vez a página aparesse em um iframe, assim não ficará mais salvo no histórico do navegador. abaixo segue o código: index.html: <html> <head> <title>logar</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript"> function logando() { var login = document.form...

Tutorial jogo de carro no Flash Mx

Postei recentemente no youtube um vídeo tutorial sobre criação de um game de carro em flash mx, e o usuário: juninhosantosMr reclamou o script, tentei responder mas estava dando erro, então postarei aqui os códigos, seguem abaixo: carro: onClipEvent(load){ speed = 0; } onClipEvent (enterFrame) { if (Key.isDown(Key.UP)) { speed += 0.5; } if (Key.isDown(Key.DOWN)) { speed += -0.2; } if (Math.abs(speed)>10) { speed *= .7; } if (Key.isDown(Key.LEFT)) { _rotation -= 12; } if (Key.isDown(Key.RIGHT)) { _rotation += 12; } speed *= .98; x = Math.sin(_rotation*(Math.PI/180))*speed; y = Math.cos(_rotation*(Math.PI/180))*speed*-1; if (!_root.land3.hitTest(_x+x, _y+y, true)) { _x += x; _y += y; } else { speed *= -.10; } } chegada: onClipEvent (enterFrame) { if (_root.chegou, hitTest(_root.carro)) { _root.gotoAndPlay(2); } } Para acompanhar os três vídeos tutorias: vídeo 1: http://www.youtube.com/watch?v=MYw1H7THo_U&feature=related vídeo 2: ...