Цветовая схема « светло-на-темном» , более известная как темный режим, темная тема или ночной режим , — это цветовая схема , которая использует светлый текст, значки и графические элементы пользовательского интерфейса на темном фоне. Ее часто обсуждают в терминах дизайна пользовательского интерфейса компьютера и веб-дизайна . Многие современные веб-сайты и операционные системы предлагают пользователю опциональный режим отображения «светло-на-темном».
Некоторые пользователи считают темный режим отображения визуально более привлекательным и утверждают, что он может снизить нагрузку на глаза . [1] Отображение белого цвета на полной яркости потребляет примерно в шесть раз больше энергии, чем чисто черный на Google Pixel 2016 года , который имеет OLED-дисплей . [2] Однако обычные светодиодные дисплеи не могут выиграть от снижения энергопотребления. [3] Большинство современных операционных систем поддерживают дополнительную цветовую схему «светлый на темном». [4]
Предшественники современных компьютерных экранов, такие как электронно-лучевые осциллографы, осциллографы и т. д., имели тенденцию строить графики и представлять другой контент в виде светящихся следов на черном фоне.
С появлением компьютерных экранов изначально пользовательские интерфейсы формировались на электронно-лучевых трубках (ЭЛТ), подобных тем, что использовались в осциллографах или осциллоскопах. Обычно фосфор был очень темного цвета и ярко загорался, когда на него попадал электронный луч , становясь белым, зеленым, синим или янтарным на черном фоне, в зависимости от фосфора, нанесенного на монохромный экран. Экраны RGB продолжали работать аналогичным образом, используя все лучи, установленные на «включено», для формирования белого цвета.
С появлением телетекста были проведены исследования, чтобы выяснить, какие основные и вторичные цвета света и их комбинации лучше всего подходят для этой новой среды. [5] Обычно считалось, что голубой или желтый на черном являются оптимальными из палитры черного, красного, зеленого, желтого, синего, пурпурного, голубого и белого.
Противоположный набор цветов, цветовая схема «темное на светлом» , изначально был представлен в текстовых процессорах WYSIWYG для имитации чернил на бумаге и стал нормой.
Microsoft представила тёмную тему в Anniversary Update Windows 10 в 2016 году. [6] В 2018 году Apple последовала её примеру в macOS Mojave . [7] В сентябре 2019 года iOS 13 и Android 10 представили тёмные режимы. [8] [9]
Firefox и Chromium имеют опциональную темную тему для всех внутренних экранов. Также сторонние разработчики смогут реализовать свои собственные темные темы. [10]
В 2019 году для разработчиков интерфейсных веб-приложений была создана опция «prefers-color-scheme» , представляющая собой свойство CSS , которое сигнализирует о выборе пользователем для своей системы использования светлой или темной цветовой темы. [11]
В июле 2024 года мобильный сайт Википедии получил тёмный режим. [12] Позже тёмный режим получил и десктопный сайт. [13]
Цветовые схемы «светлое на темном» требуют меньше энергии для отображения на OLED -дисплеях. Это положительно влияет на срок службы батареи и снижает потребление энергии. [14]
В то время как OLED будет потреблять около 40% мощности ЖК-дисплея, отображающего изображение, которое в основном черное, он может использовать в три раза больше энергии для отображения изображения с белым фоном, например документа или веб-сайта. [15] Это может привести к сокращению срока службы батареи и более высокому потреблению энергии, если не используется цветовая схема «светлое на темном». Долгосрочное снижение потребления энергии может также продлить срок службы батареи или срок службы дисплея и батареи.
Экономия энергии, которая может быть достигнута с помощью цветовой схемы «светлый на темном», обусловлена принципом работы OLED-экранов: в OLED-экране каждый субпиксель генерирует свой собственный свет, и он потребляет энергию только при генерации света. Это отличается от принципа работы ЖК-дисплея: в ЖК-дисплее субпиксели либо блокируют, либо пропускают свет от постоянно включенной (горит) светодиодной подсветки .
Цветовые схемы « AMOLED Black» (которые используют чистый черный вместо темно-серого) не обязательно экономят больше энергии, чем другие цветовые схемы «светлый на темном», которые используют темно-серый вместо черного, поскольку энергопотребление на экране AMOLED уменьшается пропорционально средней яркости отображаемых пикселей. Хотя верно, что черный AMOLED действительно экономит больше энергии, чем темно-серый, дополнительная экономия энергии часто незначительна; черный AMOLED даст дополнительную экономию энергии всего менее 1%, например, по сравнению с темно-серым, который используется в темной теме для официальных приложений Google для Android. [16] В ноябре 2018 года Google подтвердила, что темный режим на Android экономит заряд батареи. [17]
Некоторые утверждают, что цветовая схема со светлым текстом на темном фоне легче читается на экране, потому что более низкая общая яркость вызывает меньшее напряжение глаз. Другие [18] [19] [20] утверждают обратное. Некоторые страницы в Интернете разработаны для белого фона; ресурсы изображений ( GIF , PNG , SVG , WOFF и т. д.) могут использоваться ненадлежащим образом, вызывая визуальные артефакты, если темный режим принудительно включен (вместо того, для которого он предназначен) с помощью плагина, такого как darkreader.
prefers-color-scheme
В CSS есть медиа-функция , которая определяет, запросил ли пользователь светлую или темную цветовую схему, и предоставляет запрошенную цветовую схему. Это может быть указано в настройках операционной системы пользователя или в пользовательском агенте . [11] [21]
Пример CSS-стиля:
@ media ( предпочитаемая-цветовая-схема : темная ) { тело { цвет : #ccc ; фон : #222 ; } }
< span style = "background-color: light-dark(#fff, #333); color: light-dark(#333, #fff);" ></ span >
Пример JavaScript: [22]
если ( окно . matchMedia ( '(предпочитает-цветовую-схему: темный)' ). соответствия ) { темный (); }
matchMedia() интерфейса Window возвращает новый объект MediaQueryList, который затем можно использовать для определения соответствия документа строке медиа-запроса, а также для мониторинга документа с целью обнаружения его соответствия (или прекращения соответствия) этому медиа-запросу.