"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment ajouter facilement le mode sombre à votre site Web

Comment ajouter facilement le mode sombre à votre site Web

Publié le 2024-09-01
Parcourir:449

How to Easily Add Dark Mode to Your Website

Hé! Donc, si vous êtes comme moi et que vous aimez toute l’ambiance du mode sombre, vous avez peut-être pensé à l’ajouter à votre site Web. C'est assez facile à configurer avec juste un peu de CSS et de JavaScript. Voici comment j'ai procédé.

Étape 1 : configuration du code HTML

Tout d'abord, vous avez besoin d'un bouton ou d'un interrupteur sur lequel les utilisateurs peuvent cliquer pour basculer entre les modes clair et sombre. J'ai opté pour un simple bouton pour cet exemple (vous pouvez utiliser une icône si vous le souhaitez) :


Ce bouton sera le déclencheur du changement de mode.

Étape 2 : Ajout du CSS pour les modes clair et sombre

Ensuite, vous devez définir à quoi ressembleront votre mode clair et votre mode sombre. Dans votre CSS, vous configurerez les styles par défaut (qui seront votre mode clair), puis ajouterez une classe de mode sombre qui remplacera ces styles.

body {
    background-color: white;
    color: black;
    transition: background-color 0.3s, color 0.3s;
}

.dark-mode {
    background-color: #121212;
    color: #ffffff;
}

Voici ce qui se passe :

  • Mode lumière (par défaut) : Le corps a un fond blanc et un texte noir. J'ai ajouté une transition pour rendre le changement fluide lors du passage d'un mode à l'autre.
  • Mode sombre : La classe .dark-mode modifie l'arrière-plan en gris foncé et le texte en blanc.

Étape 3 : Basculer entre les modes avec JavaScript

Vient maintenant la partie où nous faisons en sorte que le bouton fasse réellement quelque chose. Ce morceau de JavaScript fera basculer la classe .dark-mode sur le corps chaque fois que vous cliquerez sur le bouton.

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');
    }
});

Voici une répartition :

  • Basculer la classe : Lorsque vous cliquez sur le bouton, nous basculons la classe .dark-mode sur le corps. Cela change les styles entre les modes clair et sombre.
  • Enregistrement des préférences : J'ai ajouté un petit plus en enregistrant les préférences de l'utilisateur dans localStorage. Cela signifie que s’ils choisissent le mode sombre, cela restera ainsi même s’ils quittent et reviennent sur le site.

Étape 4 : Chargement des préférences de l'utilisateur lors du chargement de la page

Pour vous assurer que le site se charge dans le mode préféré de l'utilisateur, vous devez vérifier localStorage lors du chargement de la page et définir le mode en conséquence.

window.addEventListener('load', () => {
    const savedTheme = localStorage.getItem('theme');
    if (savedTheme === 'dark') {
        body.classList.add('dark-mode');
    }
});

Si vous utilisez React, le processus est assez similaire, mais vous gérerez les choses au sein de vos composants. Voici comment procéder :

  1. Configurer l'état et la classe CSS pour le mode sombre :

Utilisez useState de React pour gérer l'état du mode sombre et appliquez la classe appropriée à votre élément racine :

   import React, { useState } from 'react';

   function App() {
       const [darkMode, setDarkMode] = useState(false);

       const toggleDarkMode = () => {
           setDarkMode(!darkMode);
       };

       return (
           
); } export default App;

Dans cet exemple :

  • L'état darkMode détermine si le mode sombre est actif.
  • La fonction toggleDarkMode active et désactive le mode sombre.
  1. CSS pour le mode sombre :

Ajoutez la classe .dark-mode à votre CSS, comme avant :

   body {
       background-color: white;
       color: black;
       transition: background-color 0.3s, color 0.3s;
   }

   .dark-mode {
       background-color: #121212;
       color: #ffffff;
   }
  1. Stockage local :

Si vous souhaitez que la préférence de thème persiste, vous pouvez ajouter ce petit ajustement :

   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;

Voici ce qui se passe :

  • État initial : L'état initial de darkMode est défini en fonction de la valeur stockée dans localStorage.
  • Effect Hook : Le hook useEffect enregistre la préférence de thème actuelle chaque fois que darkMode change.

Et c'est tout ! Il s'agit d'un moyen plus simple d'ajouter le mode sombre à votre application React sans trop compliquer les choses.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/bridget_amana/how-to-easily-add-dark-mode-to-your-website-29dl?1 En cas de violation, veuillez contacter [email protected] pour le supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3