Тёмная и светлая темы
Часть раздела JavaScript in Action путешествия по HTML на Coddy — урок 16 из 27.
Реализация переключателя темной/светлой темы — это распространенная функция на современных веб-сайтах. Давайте узнаем, как создать простой переключатель тем с помощью JavaScript.
Сначала создайте кнопку, которая будет переключать темы:
<button id="themeToggle">Theme Toggle</button>Далее давайте добавим базовый CSS для нашей светлой и темной тем:
<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>Теперь давайте добавим JavaScript для переключения между темами:
const themeToggle = document.getElementById('themeToggle');
themeToggle.addEventListener('click', function() {
document.body.classList.toggle('dark-theme');
});При нажатии на кнопку происходит переключение класса 'dark-theme' у элемента body.
Задание
ЛегкоВнутри слушателя события клика кнопки добавьте код для переключения класса "dark-mode" у элемента body.
Попробуйте сами
<!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>
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела JavaScript in Action
1Интерактивность / UI-компоненты
ВкладкиАккордеон (развернуть/свернуть)Модальное окно (открыть/закрыть)Выпадающий список