15.04.2024 / 13:33 | |
Arigato Пользователь Сейчас: Offline
Имя: Snork Откуда: Yerevan Регистрация: 03.02.2010
| Tygrain, так мы же не в ЕС __________________
don't tread on me |
15.04.2024 / 14:49 | |
RblSb Пользователь Сейчас: Offline
Регистрация: 25.07.2011
| segOro, так храни, это элементарно. Тебе нужно знать данные о теме еще до загрузки страницы, если не хочешь чтобы они мигала белым. Можно еще получать данные из жса о теме в системе, но это уже доп фича с автоопределением изначальной темы скорее.
Изменено RblSb (15.04 / 14:53) (всего 1 раз) |
15.04.2024 / 15:46 | |
segOro Пользователь Сейчас: Offline
Имя: Серж Регистрация: 05.05.2010
| Arigato, как ты будешь хранить автовыбор, зависящий от того, какая тема на устройстве?
|
16.04.2024 / 04:32 | |
Tygrain Пользователь Сейчас: Offline
Имя: Александр Откуда: Днепр Регистрация: 01.07.2012
| Цитата segOro: Решил пока сделать костыль + подправил запрос: let theme = document.querySelector("#theme"); if (theme.dataset.theme == "auto" && window.matchMedia &&
я просто скрывал контент пока не подгружены стили <style>
/* Скрываем содержимое body до загрузки стилей */
body {
visibility: hidden;
}
</style>
<script>
const isDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
const css = document.createElement('link')
css.rel = "stylesheet"
css.href = `${isDarkMode ? "dark" : "light"}.css`
css.onload = () => document.body.style.visibility = "visible"
document.head.append(css)
</script>
</head>
<body>
...
</body>
Изменено Tygrain (16.04 / 04:33) (всего 3 раза) |
16.04.2024 / 07:25 | |
segOro Пользователь Сейчас: Offline
Имя: Серж Регистрация: 05.05.2010
| Tygrain, интересное решение, спасибо за идею скрытия.
|