Установить prefers-color-scheme браузера?
Здравствуйте, есть простой код:
(() => { 'use strict' const getPreferredTheme = () => { return (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) ? 'dark' : 'light' } const setTheme = theme => { if (theme === 'auto' && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { document.documentElement.setAttribute('data-bs-theme', 'dark') } else { document.documentElement.setAttribute('data-bs-theme', theme) } } setTheme(getPreferredTheme()) })() |
(() => { 'use strict' const getPreferredTheme = () => { return (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) ? 'dark' : 'light' } const setTheme = theme => { if (theme === 'auto' && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { document.documentElement.setAttribute('data-bs-theme', 'dark') } else { document.documentElement.setAttribute('data-bs-theme', theme) } } setTheme(getPreferredTheme()) })()
Вопрос, у меня на ПК по умолчанию стоит именно темная версия, в браузере "устройства", но когда я меняю на светлый перезахожу на сайт, все равно по умолчанию темная, можно как-то обойти и брать именно из браузера?
Дополнительно:
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для установки prefers-color-scheme в браузере, вам необходимо использовать CSS Media Queries. Это позволит вам определить предпочтения пользователя относительно цветовой схемы веб-сайта.
Вот пример кода на PHP, который вы можете использовать для определения prefers-color-scheme:
if (isset($_SERVER['HTTP_ACCEPT'])) { $prefersColorScheme = substr($_SERVER['HTTP_ACCEPT'], 0, 8) == 'text/css' ? 'light' : 'dark'; } else { $prefersColorScheme = 'light'; } echo "Prefers color scheme: " . $prefersColorScheme;
Этот код проверяет заголовок HTTP_ACCEPT, чтобы определить, какую цветовую схему предпочитает пользователь (светлую или темную). Затем он выводит результат на экран.
Если вы хотите применить цветовую схему к вашему веб-сайту на основе prefers-color-scheme, вы можете использовать следующий CSS код:
@media (prefers-color-scheme: dark) { body { background-color: #333; color: #fff; } } @media (prefers-color-scheme: light) { body { background-color: #fff; color: #333; } }
Этот CSS код применяет различные стили к элементам на вашем веб-сайте в зависимости от предпочтений пользователя относительно цветовой схемы.
Надеюсь, это поможет вам установить prefers-color-scheme в вашем веб-приложении!