Изучение нескольких методов реализации автоматического темного режима в Bootstrap 5

Темный режим в последние годы приобрел популярность благодаря улучшенному пользовательскому интерфейсу и снижению нагрузки на глаза. В этой статье мы рассмотрим различные методы реализации автоматического темного режима в Bootstrap 5. Мы предоставим примеры кода для каждого метода, чтобы помочь вам лучше понять процесс реализации.

Метод 1: медиа-запросы CSS

@media (prefers-color-scheme: dark) {
  /* Dark mode styles */
}

Метод 2: JavaScript и локальное хранилище

<!-- Add this script tag before the closing </body> tag -->
<script>
  // Check if dark mode is enabled and set the theme accordingly
  if (localStorage.getItem('darkModeEnabled') === 'true') {
    document.documentElement.classList.add('dark');
  }
</script>

Метод 3: кнопка переключения с помощью JavaScript

<!-- Add this HTML for the toggle button -->
<label class="switch">
  <input type="checkbox" id="darkModeToggle">
  <span class="slider round"></span>
</label>
<!-- Add this script tag before the closing </body> tag -->
<script>
  const toggleSwitch = document.querySelector('#darkModeToggle');
  toggleSwitch.addEventListener('change', function() {
    document.documentElement.classList.toggle('dark', this.checked);
    localStorage.setItem('darkModeEnabled', this.checked);
  });
</script>

Метод 4. Определение системных настроек

<!-- Add this script tag before the closing </body> tag -->
<script>
  // Detect system preferences and set the theme accordingly
  if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
    document.documentElement.classList.add('dark');
  }
</script>

Метод 5: переменные CSS

:root {
  --bg-color: #ffffff;
  --text-color: #000000;
}
.dark {
  --bg-color: #000000;
  --text-color: #ffffff;
}
body {
  background-color: var(--bg-color);
  color: var(--text-color);
}

В этой статье мы рассмотрели пять различных методов реализации автоматического темного режима в Bootstrap 5. Каждый метод предлагает уникальный подход к достижению желаемой функциональности. Предпочитаете ли вы использовать медиазапросы CSS, JavaScript с локальным хранилищем, кнопки переключения, обнаружение системных настроек или переменные CSS, теперь у вас есть ряд вариантов на выбор в зависимости от требований вашего проекта. Поэкспериментируйте с этими методами, чтобы улучшить взаимодействие с пользователем и сделать свой веб-сайт Bootstrap 5 более универсальным.