Elian Cycles выпустила свой E-Drive Custom Cargobike. Cargobike оснащен ультра-бесшумным двигателем с прямым приводом, который дает вам необходимый крутящий момент при взлете. Мощный и плавный Neodrives беззвучен, безотказен и чрезвычайно не требует технического обслуживания. Elian специально выбрал задний мотор, поэтому вы всегда можете обновить мотоцикл или даже вернуться к безмоторному грузу. Запатентованная ступица рулевого управления…
Когда мы думаем о логотипах, наши умы часто обращаются к графическим или графическим элементам. И почему бы нет? Распределение бренда в единую графику — сложный процесс. Но выбор шрифта для вашего логотипа не менее важен, поскольку он передает важную информацию, такую как ваше имя и отрасль. Какой шрифт лучше всего подходит для вашего логотипа? Мы…
PackScore, разработанный Британской федерацией пластмасс, нацелен на то, чтобы помочь дизайнерам создавать легко перерабатываемые упаковки. Автор Молли Лонг 30 сентября 2019 года 14:28 30 сентября 2019 года 14:58 Британская федерация пластмасс (BPF) запустила бесплатный онлайн-инструмент, помогающий дизайнерам продукции более устойчиво работать с пластиком. PackScore задает пользователям ряд вопросов, относящихся к их предполагаемым конструкциям упаковки, и…
Носители из серии Garmin Fenix - лучшие мультиспортивные часы, которые вы можете иметь. Обновление этого года, серия Fenix 6, стало еще лучше. Fenix 6S Pro настолько детализирован, он отслеживает и обучает вас таким разным видам деятельности, что вам придется прожить в фургоне целый месяц, чтобы тщательно их протестировать. Он также поставляется со всеми аксессуарами, такими…
Если есть одна вещь, на которую можно положиться в веб-дизайне, это то, что когда вы потратили целую вечность, создавая потрясающий сайт, который отмечал бы все коробки — красивый отзывчивый дизайн, все запросы клиентов (как разумные, так и другие) выполнены, быстрое время загрузки, работы — клиент вернется в последнюю минуту с чем-то вроде этого: «Эй, да,…
А не перенести ли вам к нам домен? Это можно сделать в несколько кликов, а если сомневаетесь, то наши специалисты по телефону проведут вас по этому пути от начала до конца. При единовременном переносе от 10 штук даем скидку 15%. А если вдруг решите перенести к нам вообще все домены холдинга, то скидка будет расти!…
Apple недавно представил новейшие флагманские iPhone, и все были в восторге, поэтому мы подготовили коллекцию из 75 лучших бесплатных макетов iPhone для Adobe Photoshop. Этот список включает в себя мокапы различных стилей и в разных ракурсах в формате PSD. Мы надеемся, что вы найдете макет для вашего проекта. Наслаждайтесь!
В техническом смысле, вкус — это набор данных, характеристик, картинок, образов, выводов и закономерностей нашего жизненного опыта. Который влияет на то, как мы воспринимаем окружающий мир и как мы влияет на него. Вкус это то, что приобретается, развивается, или наоборот — деградирует. Маленький мальчик из Рима, который видит вокруг примеры высокого стиля, фрески, архитектуру мастеров…
Добавление темного режима — это, по сути, добавление темы. Принципы одинаковы для добавления светлого режима к темному веб-сайту или альтернативного стиля на основе пользовательских переменных, времени года или праздников.
Я добавил темы со смесью 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 минутПройдено = ( в настоящее время -