移动端主题切换
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
[data-prefer-scheme='light'] {
--primary-color: #007bff;
--secondary-color: #6c757d;
--bg-color: #f8f9fa;
--text-color: #333;
}
[data-prefer-scheme='dark'] {
--primary-color: #6c757d;
--secondary-color: #007bff;
--bg-color: #333;
--text-color: #f8f9fa;
}
body {
background-color: var(--bg-color);
color: var(--text-color);
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
}
.container {
max-width: 800px;
margin: 0 auto;
padding: 40px;
}
h1 {
color: var(--primary-color);
background-color: var(--bg-color);
color: var(--text-color);
}
button {
color: var(--secondary-color);
border: none;
padding: 10px 20px;
cursor: pointer;
}
</style>
</head>
<body>
<div class="container">
<h1>Theme Demo</h1>
<button id="theme-btn">Toggle Theme</button>
<p>This is some content.</p>
</div>
<script>
const themeBtn = document.getElementById('theme-btn');
let currentTheme = 'light';
function toggleTheme() {
if (currentTheme === 'light') {
document.documentElement.setAttribute('data-prefer-scheme', 'dark');
currentTheme = 'dark';
} else {
document.documentElement.setAttribute('data-prefer-scheme', 'light');
currentTheme = 'light';
}
}
themeBtn.addEventListener('click', toggleTheme);
</script>
</body>
</html>