Совет по дизайну объявил финалистов Spark в этом году

Совет по дизайну объявил финалистов программы Spark 2019 — ведущей британской программы и фонда поддержки продуктов. Потенциальное финансирование идет в дополнение к 15 000 фунтов стерлингов, первоначально присуждаемым каждому финалисту для разработки своих оригинальных идей для поддержки самостоятельной жизни в доме и вокруг него. В этом году Spark фокусируется на продуктах, которые улучшают жизнь, и…

Руководство по реализации темных режимов на веб-сайтах

Добавление темного режима — это, по сути, добавление темы. Принципы одинаковы для добавления светлого режима к темному веб-сайту или альтернативного стиля на основе пользовательских переменных, времени года или праздников.

Я добавил темы со смесью Javascript и CSS. В этом посте я шаг за шагом расскажу о том, как я это сделал и чему научился.

Установка

Темы активируются классами CSS в корневом элементе, . Когда страница загружена, я хочу применить тему, которая наиболее подходит посетителю (вам!) Лучше всего. В конце концов, большинству людей не нравится настраивать веб-сайты до того, как они смогут прочитать сообщение в блоге, поэтому вся функция создания тем, скорее всего, останется неиспользованной. Поэтому я должен сделать предположение о том, что посетитель хочет и ожидает. Я делаю это в следующем порядке:

  1. Я предполагаю, что люди не хотят, чтобы тема менялась при переходе между страницами. Поэтому, если загруженная страница — не первая, которую они посещают, я хочу использовать тему, которая использовалась ранее.
  2.   

  3. Если это первая страница, которую они просматривают на моем сайте, их браузер может определить их предпочтения.
  4.   

  5. Если предпочтения нет, мы можем основывать выбор на основании того, день это или ночь.

Я также хочу реагировать на изменения:

  • Когда тема изменяется в одной вкладке браузера, все остальные вкладки с веб-сайтом должны меняться вместе с ней
  •   

  • Когда посетители меняют свою ОС со светлой на темную или наоборот, веб-сайт должен реагировать на это.

Превращение этой логики в Javascript:

  
 1
2
3
4
5
6
7
8
9
  (  функция   initializeTheme   () {
   syncBetweenTabs   () 
   listenToOSChanges   () 
   enableTheme   (
     returnThemeBasedOnLocalStorage   ()   || 
     returnThemeBasedOnOS   ()   || 
     returnThemeBasedOnTime   (), 
     ложно  ) 
} ())  

Конечно, посетители должны иметь возможность вручную выбрать тему, если я угадаю неправильно. Наконец, я добавил переход, когда тема меняется. Это также делается с помощью класса 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 минутПройдено = ( в настоящее время -

ShopTalk создает уникальные возможности для группы действий по обеспечению равенства в бизнесе WeQual

Бывший исполнительный директор Financial Times Кэти Литчфилд создала группу действий по обеспечению равенства в бизнесе WeQual, цель которой — открыть двери из исполнительных комитетов FTSE 350 для женщин, оспаривая доминирующую культуру позиций c-suite и, в конечном счете, улучшая бизнес для всех. Литчфилд обратился к ShopTalk с формирующей идеей для программы наград. Студию попросили разработать правила…

Цыплят по осени считают / 101domain / Сайты и биржи фриланса. Обзоры фриланс бирж. Новости. Советы. Фриланс для начинающих. FREELANCE.TODAY

Автор: 101domain.RU

Новости доменного рынка: Регистрация доменов, SSL сертификаты, конструкторы сайтов, безопасность, хостинг и многое другое…

С сайта freelance.today

База данных плакатов по изменению климата, похоже, повышает уровень протеста

База данных призвана стать крупнейшим в мире источником плакатов о климатических кризисах. Автор Генри Вонг 20 сентября 2019 года 12:25 вечера 20 сентября 2019 года 12:25 вечера Glug — глобальное сообщество, состоящее из около 50 000 креативщиков, — представил базу данных плакатов протеста в связи с Неделей глобального климатического удара. Неделя начинается 20 сентября 2019…

Олимпиада SLC по графическому дизайну

Компания ThoughtLab объединилась с SL Design Week, чтобы представить вам первую в мире Олимпиаду по графическому дизайну в Солт-Лейк-Сити, состоящую из трех частей, которая будет проходить в течение всей недели дизайна и открыта для все дизайнеры в районе Большого Соленого озера. Конкурс состоит из трех заданий на проектирование, которые будут распределены за неделю до начала…

Потеряй себя в танце: Советы по созданию буги-анимации у твоих персонажей — Особенности

Советы о том, как анимировать движения ваших персонажей, как будто они в реальном клубе. Пора встать со своего стола и надеть буги-вуги — или, если это звучит слишком обременительно, вы можете просто оживить персонажей, чтобы сделать то же самое. Но хотя сравнительно легко воспроизвести ходьбу или бег с чем-то вроде After Effects или Photoshop, это…

Подкаст Gadget Lab: распаковка крупномасштабного мероприятия Apple по выпуску iPhone

Новые iPhone! Блестящие Apple Watch! Так много объективов камер! На этой неделе, посвященной Gadget Lab, это снова неделя Apple. Лорен, Майк и Ариэль обсуждают все новые устройства и услуги, которые произвели сенсацию в Купертино. Кроме того, они углубляются в состояние событий Apple в целом и в то, немного ли удалены все волнения на сцене от…

15 советов по дизайну баннерной рекламы, чтобы получить больше кликов

Если вы надеетесь увеличить свой онлайн-трафик с помощью баннерной рекламы, вы можете спросить себя: как я могу создать дизайн веб-баннерной рекламы, на который люди захотят нажать? Веб-дизайн баннера фокусируется на систематическом создании эффективных рекламных баннеров путем тщательного применения основных принципов дизайна. В этой статье мы собрали всю информацию, необходимую для успешного создания веб-баннеров. Что такое…

Соберите брифинги студентов по проекту Ventura Challenge

Брифинг этого года был составлен коллективом Assemble, получившим премию Тернера, и просит подростков подумать о долгосрочном влиянии их проектов Автор Молли Лонг 4 сентября 2019 г. 16:26 4 сентября 2019 16:26 Мастерская дизайна Ventura Музей дизайна объявил конкурс дизайна Ventura 2019 года, в котором студентам предлагается создать продукт, который будет «улучшать повседневную жизнь» ». Бриф…

Go to Top