Ei! Então, se você é como eu e adora toda a vibração do modo escuro, pode ter pensado em adicioná-lo ao seu site. É muito fácil de configurar com apenas um pouco de CSS e JavaScript. Veja como eu fiz isso.
Primeiro, você precisa de um botão ou interruptor no qual os usuários possam clicar para alternar entre os modos claro e escuro. Eu escolhi um botão simples para este exemplo (você pode usar um ícone se quiser):
Este botão será o gatilho para alternar os modos.
Em seguida, você precisa definir como serão o modo claro e o modo escuro. Em seu CSS, você configurará os estilos padrão (que será seu modo claro) e, em seguida, adicionará uma classe de modo escuro que substituirá esses estilos.
body { background-color: white; color: black; transition: background-color 0.3s, color 0.3s; } .dark-mode { background-color: #121212; color: #ffffff; }
Aqui está o que está acontecendo:
Agora vem a parte em que fazemos o botão realmente fazer alguma coisa. Este pedaço de JavaScript alternará a classe .dark-mode no corpo sempre que o botão for clicado.
const toggleButton = document.getElementById('dark-mode-toggle'); const body = document.body; toggleButton.addEventListener('click', () => { body.classList.toggle('dark-mode'); // Save the user's preference in local storage if (body.classList.contains('dark-mode')) { localStorage.setItem('theme', 'dark'); } else { localStorage.setItem('theme', 'light'); } });
Aqui está um detalhamento:
Para garantir que o site carregue no modo preferido do usuário, você precisa verificar localStorage quando a página carregar e definir o modo de acordo.
window.addEventListener('load', () => { const savedTheme = localStorage.getItem('theme'); if (savedTheme === 'dark') { body.classList.add('dark-mode'); } });
Se você estiver usando React, o processo é bem semelhante, mas você lidará com as coisas dentro de seus componentes. Veja como fazer isso:
Use useState do React para gerenciar o estado do modo escuro e aplique a classe apropriada ao seu elemento raiz:
import React, { useState } from 'react'; function App() { const [darkMode, setDarkMode] = useState(false); const toggleDarkMode = () => { setDarkMode(!darkMode); }; return (); } export default App;
Neste exemplo:
Adicione a classe .dark-mode ao seu CSS, como antes:
body { background-color: white; color: black; transition: background-color 0.3s, color 0.3s; } .dark-mode { background-color: #121212; color: #ffffff; }
Se quiser que a preferência do tema persista, você pode adicionar este pequeno ajuste:
import React, { useState, useEffect } from 'react'; function App() { const [darkMode, setDarkMode] = useState(() => { const savedTheme = localStorage.getItem('theme'); return savedTheme === 'dark'; }); useEffect(() => { localStorage.setItem('theme', darkMode ? 'dark' : 'light'); }, [darkMode]); return (); } export default App;
Aqui está o que está acontecendo:
E é isso! Esta é uma maneira mais simples de adicionar o modo escuro ao seu aplicativo React sem complicar as coisas.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3