Dark/Light Mode Switcher
by MD Hasan Patwary
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dark/Light Mode Switcher</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="container">
<h1>Dark/Light Mode Switcher</h1>
<button id="modeSwitcher">Switch to Dark Mode</button>
<p>Toggle the button to switch between dark and light modes.</p>
</div>
<script src="script.js"></script>
</body>
</html>
CSS
/* styles.css */
:root {
--bg-color: #ffffff;
--text-color: #000000;
--button-bg-color: #000000;
--button-text-color: #ffffff;
}
body {
background-color: var(--bg-color);
color: var(--text-color);
font-family: Arial, sans-serif;
transition: background-color 0.3s ease, color 0.3s ease;
}
.container {
text-align: center;
margin-top: 50px;
}
button {
background-color: var(--button-bg-color);
color: var(--button-text-color);
border: none;
padding: 10px 20px;
cursor: pointer;
transition: background-color 0.3s ease, color 0.3s ease;
}
button:hover {
opacity: 0.8;
}
body.dark-mode {
--bg-color: #333333;
--text-color: #ffffff;
--button-bg-color: #ffffff;
--button-text-color: #000000;
}
JavaScript
// script.js
document.addEventListener('DOMContentLoaded', () => {
const switcher = document.getElementById('modeSwitcher');
const currentMode = localStorage.getItem('theme') || 'light';
if (currentMode === 'dark') {
document.body.classList.add('dark-mode');
switcher.textContent = 'Switch to Light Mode';
}
switcher.addEventListener('click', () => {
document.body.classList.toggle('dark-mode');
const mode = document.body.classList.contains('dark-mode') ? 'dark' : 'light';
switcher.textContent = mode === 'dark' ? 'Switch to Light Mode' : 'Switch to Dark Mode';
localStorage.setItem('theme', mode);
});
});