Добавление темного режима — это, по сути, добавление темы. Принципы одинаковы для добавления светлого режима к темному веб-сайту или альтернативного стиля на основе пользовательских переменных, времени года или праздников.
Я добавил темы со смесью Javascript и CSS. В этом посте я шаг за шагом расскажу о том, как я это сделал и чему научился.
Установка
Темы активируются классами CSS в корневом элементе, . Когда страница загружена, я хочу применить тему, которая наиболее подходит посетителю (вам!) Лучше всего. В конце концов, большинству людей не нравится настраивать веб-сайты до того, как они смогут прочитать сообщение в блоге, поэтому вся функция создания тем, скорее всего, останется неиспользованной. Поэтому я должен сделать предположение о том, что посетитель хочет и ожидает. Я делаю это в следующем порядке:
Я предполагаю, что люди не хотят, чтобы тема менялась при переходе между страницами. Поэтому, если загруженная страница — не первая, которую они посещают, я хочу использовать тему, которая использовалась ранее.
Если это первая страница, которую они просматривают на моем сайте, их браузер может определить их предпочтения.
Если предпочтения нет, мы можем основывать выбор на основании того, день это или ночь.
Я также хочу реагировать на изменения:
Когда тема изменяется в одной вкладке браузера, все остальные вкладки с веб-сайтом должны меняться вместе с ней
Когда посетители меняют свою ОС со светлой на темную или наоборот, веб-сайт должен реагировать на это.
Конечно, посетители должны иметь возможность вручную выбрать тему, если я угадаю неправильно. Наконец, я добавил переход, когда тема меняется. Это также делается с помощью класса CSS, добавленного к корневому элементу.
Это базовая настройка, теперь давайте углубимся в детали!
Состояние сохранения и загрузки
Когда посетитель переходит со страницы на страницу, тема не должна меняться. Поэтому я сохраняю состояние выбранной темы, чтобы ее можно было загрузить на следующей странице. Рассмотрев некоторые альтернативы (см. Ниже), я попал на сохранение выбранной темы в локальном хранилище.
Каждый раз, когда страница загружается, в текущей или новой вкладке, она проверяет, была ли тема установлена ранее. Поскольку предпочтения для светлой или темной темы могут изменяться в течение дня, при каждом изменении я добавляю отметку времени к сохраненной настройке. Только когда состояние было сохранено менее двух часов назад, оно применяется:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function returnThemeBasedOnLocalStorage () { const pref = localStorage . getItem [1945934] 'предпочтения-тема' ) const lastChanged = localStorage . getItem предпочтение-тематический последнее изменение ") пусть сейчас = новый Дата () сейчас = сейчас . getTime () const минутПройдено = ( в настоящее время -
Если бы вы описали себя как шрифт, какой бы вы выбрали? Вы традиционная, прямая середина, как Helvetica? Или вы немного нравитесь людям, как Джонстон 100? Учитывая, что в нашем руководстве о лучших бесплатных шрифтах для дизайнеров содержится около 80 стилей, существует множество вариантов на выбор. Чтобы помочь вам определить, какой шрифт лучше всего отражает вашу…
Сегодня мы совсем щедрые, то есть невероятно. Целых 20 доменных зон можно приобрести и продлить с большой скидкой, смотрите. Там, кстати, даже есть .poker и .top, а еще .red и .promo. Разве это не промо? Такое у нас редко бывает, потому что мы бережливые и злые, НО – иногда и зайца можно научить курить. Бегите…
В интернете много советов о том, как привлечь на сайт больше клиентов. Основные способы это: продвижение сайта в ПС, контекстная реклама, соцсети, email рассылки. Но многие не берут во внимание полезность виджетов, то есть не о простом украшении, а о тех которые помогают решать реальные кейсы. Формы обратной связи Включают в себя несколько типов: контактная…
Бывший редактор Creative Review заменит нынешнего генерального директора Тима Линдси в декабре и планирует продолжить миссию организации в области разнообразия. Автор Молли Лонг 27 сентября 2019 года 14:58 27 сентября 2019 года 14:58 Руководство по дизайну и искусству (D & AD) объявило о назначении Патрика Бургойна новым генеральным директором благотворительной организации, заменив нынешнего руководителя Тима…
С таким огромным количеством веб-сайтов в интернете, вы можете подумать, что возможность встретить сайт, который выглядит привлекательно, функционирует должным образом и содержит полезные элементы, довольно высока, но реальность отличается. В интернете огромное количество сайтов, но не все имеют современный дизайн, который бы вы хотели изучить или которым вдохновиться. Подобные сайты раздвигают границы, чтобы выделиться на…
Добавление значков социальных сетей на ваш сайт — это хороший способ установить связь с вашими клиентами через социальные сети, получить неформальную обратную связь с ними и вовлечь их в жизнь вашей компании. Как можно добавить иконки на ваш сайт Есть несколько способов добавить иконки социальных сетей на ваш сайт: Добавьте иконки в виде изображений в…
Все это согласуется с мыслью, что Apple планирует небольшой, легкий продукт — тот, который соответствует термину «носимый», будучи больше похожим на умного очки вместо громоздких Microsoft HoloLens. «Пятьдесят восемь градусов не очень похожи на Oculus Rift, но по сравнению с nreal Light, который составляет 52 градуса, он уже довольно конкурентоспособен», — говорит Джей Си Куанг…
Generate возвращается в Лондон 26 сентября — именно в этот четверг! Созданный вами ведущими сетевыми брендами, веб-дизайнером и Creative Bloq, Generate CSS принесет вам все, чего вы ожидаете от предыдущих лет, но на этот раз в виде концентрированного однодневного мероприятия, нацеленного на получение навыков и понимания некоторых из Крупнейшие в мире суперзвезды CSS. Более того,…
Директор по дизайну компании, Клаус Бишофф, рассказывает об электромобилях, культуре конкуренции и разрабатывает свой выход из кризиса.
Автор Генри Вонг
«Огромная проблема с дизельным топливом, которая поразила нас, была огромной мотивацией», — говорит Бишофф. «Если бы не было проблемы с дизельным топливом, мы могли бы сидеть с комфортом и думать: хорошо, давайте просто возьмем один электромобиль, и этого должно быть достаточно».
Во время скандала, который Бишофф называет «действительно сложным», а также «лучшим временем» в своей карьере, компания собрала «мастерскую» из 42 менеджеров, которые разработали, какова была их «дорога в будущее». VW выдвинул идею «электрической семьи» и придумал, как это «видение» может быть разработано с точки зрения дизайна. (Из последних четырех лет Бишофф говорит: «Мы работали над этим, чтобы справиться с этим».)
Будущее VW
В рамках проекта по созданию автомобиля, который обычно рассчитан на два-три года, конкурс будет разделен на проекты интерьера и экстерьера. Бишофф говорит, что всякий раз, когда он нанимал дизайнеров, они всегда были в любом лагере, хотя VW стремится, чтобы дизайнеры познакомились с обеими дисциплинами. (Сам Бишофф начал работать в VW как дизайнер интерьера и экстерьера.)
Во время типичного конкурса отбираются четыре студии, затем две в следующем раунде, пока не появится одна, которая будет реализована в проекте. По словам Бишоффа, это не «процесс сбора вишни», когда VW выбирает различные элементы проектов для готового продукта. «Вы выбираете один внешний и один внутренний проект».
«Постоянная конкуренция ведет к лучшему конечному продукту», — говорит Бишофф. Бишофф говорит, что, если это звучит немного странно, VW поощряет «самомотивирующую» атмосферу. Он также настаивает на том, что существует так много проектов, что даже если вы проиграете дважды, вы все равно сможете выиграть три за неделю. «Важно не создавать неудачников», — говорит он.
«Работа, которая должна быть выполнена, еще не выполнена»
Бишофф проработал в VW тридцать лет. Он присоединился в 1989 году после окончания промышленного дизайна в Брауншвейгском университете искусств. В этот период он отвечал за модели Golf VI и VII, модели Touareg и Tiguan. В настоящее время он говорит, что счастлив остаться в компании.
Но с будущим автомобильного дизайна, который так изменчив, — Бишофф называет этот период «революцией в дизайне», — когда он будет счастлив уйти? «Я хотел бы покинуть компанию в тот момент, когда будущее будет позитивным и светлым, если это возможно», — говорит Бишофф.
Это в данный момент? «Нет», — говорит он. «Работа, которая должна быть выполнена, еще не выполнена. Мы находимся в разгар трансформации, а не конца ».