Der Dunkelmodus und der Nachtmodus sind ein Muss für moderne Websites. Sie verbessern die Zugänglichkeit und geben Benutzern die Flexibilität, ihr bevorzugtes Aussehen zu wählen. Sehen wir uns an, wie Sie diese Funktion mithilfe von Tailwind CSS und CSS-Variablen erstellen können.
Beginnen Sie mit der Definition der Farben für Ihre Themen. Diese CSS-Variablen befinden sich in einer übergeordneten Klasse, um den Themenwechsel zu vereinfachen.
/* Light Theme (Default) */ :root { --bg-color: #ffffff; --text-color: #000000; } /* Dark Theme */ .theme-dark { --bg-color: #000000; --text-color: #ffffff; } /* Solarized Theme */ .theme-solarized { --bg-color: #002b36; --text-color: #839496; }
Tailwind erleichtert die Verwendung von CSS-Variablen für das Styling.
<div> <h2> Adding JavaScript for Dynamic Theme Switching </h2> <p>Here’s the JavaScript to handle theme changes dynamically:<br> </p> <pre class="brush:php;toolbar:false">const themeSelect = document.getElementById("theme-select"); const rootElement = document.documentElement; // Listen for dropdown changes themeSelect.addEventListener("change", (event) => { const selectedTheme = event.target.value; // Remove all theme classes rootElement.classList.remove("theme-light", "theme-dark", "theme-solarized"); // Add the selected theme class rootElement.classList.add(selectedTheme); }); // Set default theme on load window.addEventListener("DOMContentLoaded", () => { rootElement.classList.add("theme-light"); });
Themenwechsel in Echtzeit in Aktion
Wenn Benutzer ein Thema aus der Dropdown-Liste auswählen, ändern sich die Hintergrund- und Textfarben sofort. Dieses dynamische Update macht das Erlebnis nahtlos und interaktiv.
Warum dieser Ansatz großartig ist
Machen Sie noch einen Schritt weiter, indem Sie das ausgewählte Thema speichern, damit es über mehrere Sitzungen hinweg erhalten bleibt.
// Save the theme themeSelect.addEventListener("change", (event) => { const selectedTheme = event.target.value; rootElement.classList.remove("theme-light", "theme-dark", "theme-solarized"); rootElement.classList.add(selectedTheme); localStorage.setItem("theme", selectedTheme); }); // Load the saved theme window.addEventListener("DOMContentLoaded", () => { const savedTheme = localStorage.getItem("theme") || "theme-light"; rootElement.classList.add(savedTheme); });
Extra Tipps für den Dunkelmodus und den Nachtmodus
Mit Tailwind CSS und CSS-Variablen ist die Erstellung eines dynamischen Dunkelmodus oder Nachtmodus einfach und effizient. Probieren Sie es aus und sehen Sie, wie es das Benutzererlebnis Ihrer Website verändert!
Das obige ist der detaillierte Inhalt vonDunkler Modus und Nachtmodus mit Tailwind CSS und CSS-Variablen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!