嘿!因此,如果您像我一樣並且喜歡整個黑暗模式氛圍,您可能會考慮將其添加到您的網站中。只需一點 CSS 和 JavaScript 即可輕鬆設定。我是這樣做的。
首先,您需要一個按鈕或開關,使用者可以單擊該按鈕或開關在亮模式和暗模式之間切換。我在這個例子中使用了一個簡單的按鈕(如果需要,您可以使用圖示):
<button id="dark-mode-toggle">Toggle Dark Mode</button>
此按鈕將觸發切換模式。
接下來,您需要定義淺色模式和深色模式的外觀。在 CSS 中,您將設定預設樣式(這將是您的淺色模式),然後新增一個覆蓋這些樣式的深色模式類別。
body { background-color: white; color: black; transition: background-color 0.3s, color 0.3s; } .dark-mode { background-color: #121212; color: #ffffff; }
這是發生的事情:
現在是我們讓按鈕實際執行某些操作的部分。每當點擊按鈕時,這段 JavaScript 就會切換主體上的 .dark-mode 類別。
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'); } });
這是一個細分:
為了確保網站以使用者喜歡的模式加載,您需要在頁面加載時檢查 localStorage 並相應地設定模式。
window.addEventListener('load', () => { const savedTheme = localStorage.getItem('theme'); if (savedTheme === 'dark') { body.classList.add('dark-mode'); } });
如果您使用 React,該過程非常相似,但您將在組件內處理事情。操作方法如下:
使用 React 的 useState 來管理暗模式狀態,並將適當的類別套用到您的根元素:
import React, { useState } from 'react'; function App() { const [darkMode, setDarkMode] = useState(false); const toggleDarkMode = () => { setDarkMode(!darkMode); }; return ( <div className={darkMode ? 'dark-mode' : ''}> <button onClick={toggleDarkMode}> {darkMode ? 'Switch to Light Mode' : 'Switch to Dark Mode'} </button> </div> ); } export default App;
在此範例中:
將 .dark-mode 類別加入您的 CSS 中,就像以前一樣:
body { background-color: white; color: black; transition: background-color 0.3s, color 0.3s; } .dark-mode { background-color: #121212; color: #ffffff; }
如果您希望主題偏好持續存在,您可以加入這個小調整:
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 ( <div className={darkMode ? 'dark-mode' : ''}> <button onClick={() => setDarkMode(!darkMode)}> {darkMode ? 'Switch to Light Mode' : 'Switch to Dark Mode'} </button> </div> ); } export default App;
這是發生的事情:
就是這樣!這是一種向 React 應用程式添加暗模式的更簡單方法,不會使事情變得過於複雜。
以上是如何輕鬆地將黑暗模式添加到您的網站的詳細內容。更多資訊請關注PHP中文網其他相關文章!