嘿!因此,如果您像我一样并且喜欢整个黑暗模式氛围,您可能会考虑将其添加到您的网站中。只需一点 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中文网其他相关文章!