Dark Mode com CSS — mudando a aparência do Blog de maneira simples e rápida
Umas das funcionalidades que está na moda em Blogs e Sites é o Dark Mode. Devs, em sua maioria, curtem bastante utilizar temas escuros, tanto na IDE quanto em outros apps.
👋 Introdução
Vamos mostrar como adicionar Dark Mode no Blog de maneira rápida e fácil, sem depender do JavaScript, usando apenas o CSS.
Vou trazer um conceito — uma ideia — que vai além de mudar o background do fundo da tela e as cores dos textos, que é o padrão. Vamos escurecer um pouco as imagens também.
O usuário quer ler um conteúdo com tema escuro, então a imagem do conteúdo precisa se adequar e ter menos brilho.
🖥️ Navegadores modernos
Na verdade teremos uma única dependência: o Navegador (browser).
Os navegadores modernos trazem a opção de configurar a aparência para dark 🌑 light 🌕 ou seguir as preferências já definidas no tema que o usuário escolheu no Sistema Operacional. 🌗

🍥 CSS @Media Screen - prefers-color-scheme
Quem nos ajuda com essa funcionalidade no CSS é a incrível media query com prefers-color-scheme.
<style>
/* Base (light mode) styles */
@media screen and (prefers-color-scheme: dark) {
/* Dark mode styles */
}
</style>
Com prefers-color-scheme detectamos se o usuário está usando o tema de cores escuras (dark) ou claras (light).
💪 Praticando
Neste post construímos um blog com NextJS. Agora vamos adicionar a funcionalidade Dark Mode utilizando a técnica que mencionei acima.
Link para o código fonte.
No arquivo styles/index.css adicionamos algumas propriedades CSS para estilizar alguns elementos HTML.
Por padrão, as cores seguirão o tema claro (Light Theme) e, se o usuário estiver com o Dark Theme configurado no Navegador ou sistema Operacional, ele será aplicado.
Comentários
Postar um comentário