$ grep -r Tag: «web»

-rw-r--r-- 2.7K 12 авг. 2019 · C802EF3 · ~2 мин

Поддержка тёмной темы на сайте

dark mode web css

Тёмная тема на сайте

iOS 13, которая выйдет этой осенью, будет включать тёмный режим. В современной macOS он уже есть. Принося тёмный режим в iOS, Apple также рекомендует веб-разработчикам адаптировать цвета под тёмную тему.

Реализовать это довольно просто. Достаточно поменять CSS сайта и добавить что-то вроде такого:

:root {
  color-scheme: light dark;
  --body-background-color: white;
  --body-text-color: #2F2F2F;
}

@media (prefers-color-scheme: dark) {
  :root {
    --body-background-color: #222222;
    --body-text-color: #E2E2E2;
  }
}

body {
  background-color: var(--body-background-color);
  color: var(--body-text-color);
}

То есть мы добавляем поддержку цветовых схем через color-scheme: light dark; и определяем CSS-переменные.

Чтобы протестировать, можно попробовать последний Safari в свежих бетах iOS или macOS, либо (возможно) Safari Developer Preview. В Web Inspector в Safari есть отдельная кнопка для переключения тёмной темы.

Тёмная тема для сайта в Safari

Интересный момент: в macOS 10.15 фон body для тёмной темы по умолчанию тоже тёмный. Но в 10.14 он будет белым в Safari и Firefox. Если хотите поддержать macOS < 10.15, придётся явно задать цвет фона для тёмной схемы. На сессии WWDC Apple про это не упомянули. Они просто убрали свойство background-color из CSS и дали выбирать фон операционной системе. В качестве примера приводили сайт NSHipster, но в его CSS как раз есть свойство background-color — для поддержки старых версий macOS :)

Я добавил поддержку тёмной схемы на свой сайт Space In Box. Загляните также на NSHipster — там тоже есть.

Эта статья — что-то вроде краткого пересказа сессии WWDC Supporting Dark Mode in Your Web Content.

[↵] открыть пост adding-dark-mode-support-for-website.md
makoni@arm1:~/blog$ cd .. // ↵ ко всем постам