Тесты Пообщаться с GPT Протестировать код
Программирование Аналитика Дизайн Маркетинг Управление проектами
24 Окт 2024
2 мин
259

Как создать сайт с использованием темной и светлой темы по умолчанию

Пройдите тест, узнайте какой профессии подходите
Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

«Узнайте, как создать сайт с возможностью выбора светлой и темной темы по умолчанию, используя CSS-переменные и JavaScript, для улучшения пользовательского

Сегодня мы поговорим о том, как создать сайт с возможностью выбора светлой и темной темы по умолчанию. Это становится все более популярным, так как пользователи могут выбирать тему, которая им наиболее комфортна для их глаз.

Основы создания темной и светлой темы

Для создания двух тем на вашем сайте, вам потребуется использовать CSS-переменные и JavaScript. CSS-переменные позволят вам легко управлять значениями цвета и другими стилевыми параметрами, которые будут изменяться при смене темы.

Создание CSS-переменных

Для начала, определите основные цвета и стили для светлой и темной темы, используя CSS-переменные. Например:

1
2
3
4
5
6
7
8
9
10
11
:root {
  --background-color: #ffffff;
  --text-color: #000000;
  --link-color: #007bff;
}
 
[data-theme="dark"] {
  --background-color: #000000;
  --text-color: #ffffff;
  --link-color: #00b0ff;
}

Теперь вы можете использовать эти переменные в вашем CSS:

1
2
3
4
5
6
7
8
body {
  background-color: var(--background-color);
  color: var(--text-color);
}
 
a {
  color: var(--link-color);
}

Использование JavaScript для смены темы

Чтобы пользователь мог переключаться между темами, вам нужно использовать JavaScript. Создайте функцию для смены темы и добавьте обработчик событий для кнопки переключения:

1
2
3
4
5
6
7
function toggleTheme() {
  const currentTheme = document.documentElement.getAttribute("data-theme");
  const newTheme = currentTheme === "dark" ? "light" : "dark";
  document.documentElement.setAttribute("data-theme", newTheme);
}
 
document.getElementById("theme-switcher").addEventListener("click", toggleTheme);

Установка темы по умолчанию

Чтобы определить тему по умолчанию, вы можете использовать предпочтения пользователя по осветлению системы. Воспользуйтесь функцией window.matchMedia для определения предпочтений пользователя и установки соответствующей темы:

1
2
3
4
5
6
function setDefaultTheme() {
  const userPrefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches;
  document.documentElement.setAttribute("data-theme", userPrefersDark ? "dark" : "light");
}
 
setDefaultTheme();

Теперь ваш сайт будет автоматически определять предпочтения пользователя и устанавливать соответствующую тему.

Заключение

Создание сайта с возможностью выбора светлой и темной темы по умолчанию — это отличный способ улучшить пользовательский опыт и предоставить пользователям больше контроля над тем, как они видят ваш контент. В этой статье мы рассмотрели, как использовать CSS-переменные и JavaScript для создания переключателя тем и установки темы по умолчанию на основе предпочтений пользователя.

Добавить комментарий