Dark/light themes
Part of the JavaScript in Action section of Coddy's HTML journey — lesson 16 of 27.
Implementing a dark/light theme toggle is a common feature in modern websites. Let's learn how to create a simple theme switcher using JavaScript.
First, create a button that will toggle between themes:
<button id="themeToggle">Theme Toggle</button>Next, let's add some basic CSS for our light and dark themes:
<style>
:root {
--background-color: #ffffff;
--text-color: #333333;
}
body {
background-color: var(--background-color);
color: var(--text-color);
transition: background-color 0.3s, color 0.3s;
}
.dark-theme {
--background-color: #222222;
--text-color: #f5f5f5;
}
</style>Now, let's add the JavaScript to toggle between themes:
const themeToggle = document.getElementById('themeToggle');
themeToggle.addEventListener('click', function() {
document.body.classList.toggle('dark-theme');
});When you click the button, it toggles the 'dark-theme' class on the body element.
Challenge
EasyInside the button's click event listener, add code to toggle the "dark-mode" class on the body element.
Try it yourself
<!DOCTYPE html>
<html>
<head>
<title>Dark/light themes</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>Hygge ✨</h1>
<button id="themeToggle" class="toggle-btn">Toggle Theme</button>
</header>
<main>
<section class="intro">
<img src="https://images.unsplash.com/photo-1519710164239-da123dc03ef4?auto=format&fit=crop&w=1350&q=80" alt="Cozy hygge scene" class="hero-img">
<p>
<strong>Hygge</strong> is a Danish concept that embodies coziness, comfort, and a sense of well-being.
It’s about enjoying life’s simple pleasures — candles, warm drinks, good company, and soft blankets.
</p>
</section>
<section class="philosophy">
<h2>The Philosophy</h2>
<p>
Hygge is less about things and more about atmosphere and feelings.
It’s creating moments of calm, warmth, and togetherness — a way to nurture happiness in everyday life.
</p>
</section>
<section class="origin">
<h2>Where It Comes From</h2>
<p>
Originating from Denmark, hygge reflects the Danish culture’s deep appreciation for balance, comfort,
and community. It’s often credited as one of the reasons why Denmark consistently ranks among the
happiest countries in the world.
</p>
</section>
</main>
<footer>
<p>☕ Embrace hygge in your daily life.</p>
</footer>
<script src="script.js"></script>
</body>
</html>
This lesson includes a short quiz. Start the lesson to answer it and track your progress.