使用css实现类似苹果手机的暗黑模式
实现类似苹果手机的暗黑模式主要涉及到 CSS 变量(CSS Custom Properties)和 JavaScript 来切换主题。以下是一个简单的步骤指南:
1. 定义 CSS 变量
首先,在 CSS 中定义两组变量,一组用于明亮模式,另一组用于暗黑模式。
:root {
--bg-color: #ffffff;
--text-color: #000000;
}
[data-theme="dark"] {
--bg-color: #000000;
--text-color: #ffffff;
}
2. 使用 CSS 变量
然后,在你的 CSS 中使用这些变量来设置背景颜色、文字颜色等。
body {
background-color: var(--bg-color);
color: var(--text-color);
}
3. 添加切换按钮
在 HTML 中添加一个按钮,用于切换明亮模式和暗黑模式。
<button id="theme-switcher">切换主题</button>
4. 使用 JavaScript 切换主题
最后,使用 JavaScript 来监听按钮点击事件,并切换 data-theme 属性。
document.getElementById('theme-switcher').addEventListener('click', function() {
document.documentElement.setAttribute('data-theme', document.documentElement.getAttribute('data-theme') === 'dark' ? 'light' : 'dark');
});
完整示例
以下是一个包含 HTML、CSS 和 JavaScript 的完整示例:
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="styles.css">
<title>暗黑模式示例</title>
</head>
<body>
<h1>欢迎来到暗黑模式示例</h1>
<p>点击下面的按钮来切换主题。</p>
<button id="theme-switcher">切换主题</button>
<script src="script.js"></script>
</body>
</html>
CSS (styles.css)
:root {
--bg-color: #ffffff;
--text-color: #000000;
}
[data-theme="dark"] {
--bg-color: #000000;
--text-color: #ffffff;
}
body {
background-color: var(--bg-color);
color: var(--text-color);
font-family: Arial, sans-serif;
text-align: center;
padding: 20px;
}
button {
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
}
JavaScript (script.js)
document.getElementById('theme-switcher').addEventListener('click', function() {
document.documentElement.setAttribute('data-theme', document.documentElement.getAttribute('data-theme') === 'dark' ? 'light' : 'dark');
});
浙公网安备 33010602011771号