Светлая 🌕 и тёмная 🌑 темы на CSS: кастомные свойства, подключение, фолбэк для старых браузеров

Поділитися
Вставка
  • Опубліковано 17 жов 2024

КОМЕНТАРІ • 97

  • @pepelsbey
    @pepelsbey  3 роки тому +5

    00:00 Интро
    02:17 Обзор демки
    04:23 Описание задачи
    05:11 Светлая тема
    07:54 Тёмная тема
    08:50 Обозначение тем
    10:39 Удобное тестирование
    11:54 Тема для Safari
    14:11 Кроссбраузерность
    16:23 Фолбэк на всякий
    18:49 Подсказка браузеру
    19:45 Выводы
    20:42 Аутро

  • @alexelkin2502
    @alexelkin2502 3 роки тому +44

    Солнце никогда не занимает небо целиком, конечно семантически лучше подойдёт спан! =)

  • @AntonLiubushkin
    @AntonLiubushkin 3 роки тому +10

    В сафари открываем Web Inspector → панель Elements → сверху идут иконки:
    Show rulers,
    Force print media styles,
    Force Light/Dark Appearance (иконка браузера, надо тыкать сюда),
    ...

    • @pepelsbey
      @pepelsbey  3 роки тому +1

      Ох, не самая понятная иконка. Спасибо!

  • @МаксимИсаев-ъ5о
    @МаксимИсаев-ъ5о 2 роки тому

    Моё почтение!

  • @Mitorun
    @Mitorun 3 роки тому +13

    Еще интересно будет услышать про цветовые темы в фавиконках и собственно о создании темных стилей для сайта - что стоит менять, что не стоит, как не испортить доступность-удобность.

    • @AlibekKulseitov
      @AlibekKulseitov 3 роки тому

      А что слушать то? Подключаешь svg иконку для светло/темных тем. Пишешь путь специальный к этой иконке и всё

    • @ManyakNag
      @ManyakNag 3 роки тому

      фав иконка - это свг, внутри свг работает цсс, так что свойство prefers-color-scheme работает внутри свг фавиконки

  • @Serega5j
    @Serega5j Рік тому

    Крутяк чувак! Я конечно и так знал как это сделать, но очень интересно послушать иную точку зрения

  • @dskyworks
    @dskyworks 3 роки тому +5

    Спасибо! Ждем вторую часть с ручным переключателем 😎

  • @timashoff
    @timashoff 8 місяців тому

    какая же качественная подача! спасибо!

  • @maximzabara
    @maximzabara 3 роки тому +3

    Вадим, спасибо за видео! Как всегда все по делу и без лишней "воды".
    Я за! Светлые и темные темы. Поскольку в ночное время на белых сайтах глаза просто сгорают )

  • @catexis1
    @catexis1 3 роки тому +1

    Спасибо, Вадим! Ваши ролики всегда смотреть интересно и познавательно!

  • @АнатолийОськин-ш4я
    @АнатолийОськин-ш4я 10 місяців тому

    Светлая тема

  • @Денис-в5д5ь
    @Денис-в5д5ь 3 роки тому

    Лайкос и коммент до просмотра, потому что знаю, что у Вадима всегда топ-контент!

  • @NOX_69RUS
    @NOX_69RUS 3 роки тому

    Спасибо! Ждём следующее видео с выключателем для солнца.

  • @webschoolru778
    @webschoolru778 Рік тому

    Я б назвал луну и солнце light, по аналогии с игровыми движками))

  • @demon2321777
    @demon2321777 3 роки тому

    Классное видео 👍 отлично все рассказал и показал, к тому же не забыл о старых браузерах! Большие спасибо, Вадим! Жду с нетерпением видео от вас о переключалке тем прямо на сайтах))

  • @Kirill-kh3kt
    @Kirill-kh3kt 3 роки тому

    Очень интересно! жду продолжения)

  • @Azkett
    @Azkett 3 роки тому

    Спасибо!)

  • @capstanfearless
    @capstanfearless 3 роки тому

    Вадимушка, спасибо за видео!

  • @kilichbekkhalikov4486
    @kilichbekkhalikov4486 3 роки тому

    Вадим спасибо

  • @RamFanRu
    @RamFanRu 3 роки тому

    Спасибо, как всегда очень интересно)

  • @gooseob
    @gooseob 2 роки тому

    Ня мог успомніць як гэта робіцца, пашукаў на ютубе, у тых відосах рабілі па іншаму, праз js. Успомніў, што глядзеў калісьці тваё відэа на гэтую тэму, і рады, што цяпер знайшоў яго. Дзякуй!

    • @pepelsbey
      @pepelsbey  2 роки тому +1

      Извините, я не понимаю по-украински

    • @gooseob
      @gooseob 2 роки тому

      @@pepelsbey, я почему-то думал, что ты с Беларуси, написал коммент, потом решил проверить, зашёл в информацию о канале, и увидел, что всё-таки с России, но коммент уже лень было редактировать)
      Можно использовать твой переключатель тем из след видео?

    • @user-san-chous
      @user-san-chous 5 місяців тому

      ​@@pepelsbeyи по-белорусски тоже)

  • @makelovenotwar450
    @makelovenotwar450 3 роки тому

    Красивое

  • @VeloVetal
    @VeloVetal Рік тому

    для солнца нужно использовать тэг или

  • @iamInnoel
    @iamInnoel 3 роки тому

    Вадим, а что у Вас за тема в vscode стоит? тёмная приглянулась очень
    к слову, в последнее время стали уставать глаза (в т.ч., потому что сложно различать цвета) - приходится постоянно тыркаться туда-сюда. очень удобно, когда сайты это детектят и помогают мне беречь мои глаза. во всех возможных приложениях и сайтах включил автоматическое отслеживание схемы

    • @dskyworks
      @dskyworks 3 роки тому +1

      Извиняюсь что я не Вадим) Тема в видео - GitHub Theme, а конкретно темная ее версия - GitHub Dark Default

    • @iamInnoel
      @iamInnoel 3 роки тому

      @@dskyworks спасибо)

  • @olegvintoniuk5288
    @olegvintoniuk5288 3 роки тому

    Спасибо за видос!!! Назрел вопрос. Как правильно именовать цвета в css переменних, чтобы потом можно было бы легко использовать (переиспользовать)? Может у Вас есть какието примеры кода.

    • @pepelsbey
      @pepelsbey  3 роки тому +3

      Есть разные подходы, но мне нравится такой: базовые цвета заводить описательно, как red-basic, red-light, red-dark, а потом уже из них делать функциональные text-basic, action-light и так далее.

  • @PlaceTickets
    @PlaceTickets 3 роки тому

    А будет видео где Вы будете рассказывать как использовать разные CSS в зависимости от "Save-Data: on" HTTP header ?

    • @pepelsbey
      @pepelsbey  3 роки тому

      И до них доберусь, отличная штука :)

  • @alexkonoplian
    @alexkonoplian 2 роки тому

    А цвет для вкладок в Сафари можно на ходу переключать?

    • @pepelsbey
      @pepelsbey  2 роки тому

      Можно! Об этом другое видео ua-cam.com/video/YQM56jX4yEc/v-deo.html

  • @aysommer
    @aysommer 3 роки тому

    css-variables

  • @ulatov
    @ulatov 3 роки тому +1

    body-чтото для celestial body - кажется спорным именем, способно запутать отсылкой к тегу . Но, ладно, это же просто пример 🌝
    Чо если во втором варианте (15:08) в index.css засунуть содержимое dark.css? Не будет "выспышки светлой темы"...

    • @pepelsbey
      @pepelsbey  3 роки тому

      Если засунуть все стили в один файл, то не получится удобно форсить ту или другую тему средствами браузера. Плюс будет лишний блокирующий трафик, хотя и немного. Подробнее об этом в следующем видео :)

    • @ulatov
      @ulatov 3 роки тому

      @@pepelsbey Я имел в виду засунуть в index.css тёмную тему, а светлую оставиить в light.css. То есть сделать наоброт. Вспышки не будет. Будет немного темноты

    • @pepelsbey
      @pepelsbey  3 роки тому +1

      Вспышка тёмного на белой странице - тоже вспышка :)

    • @ulatov
      @ulatov 3 роки тому

      @@pepelsbey Просто показалось, что моргнул...

    • @alexelkin2502
      @alexelkin2502 3 роки тому

      @@pepelsbey блин, вспышка черного на белом не выжигает глаза так как вспышка белого в темной теме в темной комнате...

  • @thelocalbody
    @thelocalbody 3 роки тому +1

    Вот как у Макеева всё гениально и просто???!!!

  • @dygonright5932
    @dygonright5932 2 роки тому

    где взять эти фоновые картинки
    такие классные облака плиз дайте мне их

    • @pepelsbey
      @pepelsbey  2 роки тому

      В описании видео есть ссылки на оригиналы

  • @alexelkin2502
    @alexelkin2502 3 роки тому +1

    А если серьезно, то тема очень обширная и интересная, как сюда подключить переключатель темы?

    • @pepelsbey
      @pepelsbey  3 роки тому +2

      Об этом в продолжении :)

    • @alexelkin2502
      @alexelkin2502 3 роки тому

      @@pepelsbey супер!

  • @boole_cat
    @boole_cat 2 роки тому

    С переменными в CSS понятно, а что делать если переменные SaSS? как с их помощью переключать?

    • @pepelsbey
      @pepelsbey  2 роки тому

      Sass-переменные недоступны в браузере. Вы можете комбинировать их в исходниках, чтобы они оставались в браузере. Или лучше даже перейти на кастомные свойства, если вам хватает их возможностей.

  • @abybeable
    @abybeable 3 роки тому

    Привет Вадим.
    Спасибо за видео.
    Расскажи пожалуйста как увязать вместе для разных разрешений и lazylad.
    И как оптимизировать нативное видео для разных разрешений.
    Спасибо

    • @pepelsbey
      @pepelsbey  3 роки тому

      Атрибут loading=lazy ставится на , механизмы подменяют адрес у него. Нативное видео, к сожалению, не работает так же как . Но адаптацию можно делать на уровне JS: matchMedia и вот это.

    • @abybeable
      @abybeable 3 роки тому

      @@pepelsbey 🙏

  • @sunfurry
    @sunfurry 3 роки тому +1

    А потом на работе тебе говорят "ну мы IE 11 поддрживаем, так что никаких кастомных свойств, гридов и ES6" и как-то становится грустно

    • @lonrav6073
      @lonrav6073 3 роки тому +4

      Никогда не поздно поменять работу

  • @klev1983
    @klev1983 3 роки тому +1

    А в чем проблема сделать один файл css с настройками темы и в нем сделать @media (prefers-color-scheme: dark) ? Зачем это извращение с js ?

    • @pepelsbey
      @pepelsbey  3 роки тому

      Нет проблемы. Есть желание не грузить лишнего и потом сделать удобное переключение стилей. Это основа для следующего шага.

  • @Akiyatkin
    @Akiyatkin 3 роки тому +1

    Мигание в старых браузерах наименьшая из проблем старых браузеров...

  • @olehbrony6506
    @olehbrony6506 3 роки тому

    про vmin, кстати, вообще не слышал нигде.

    • @pepelsbey
      @pepelsbey  3 роки тому +1

      Они в это семейство скоро ещё целую россыпь новых единиц добавят, чтобы решить проблему динамических вьюпортов на мобильных, держитесь :)

  • @SergeyHramenko
    @SergeyHramenko 3 роки тому +1

    Костыль с js отвалится при отключеных скриптах

    • @pepelsbey
      @pepelsbey  3 роки тому +2

      Откройте десяток любимых сайтов с отключённым JS и скажите, какими из них можно пользоваться :) Мне даже интересно стало. Но в ваших словах есть правда - если для 8% пользователей вы не готовы так рисковать, то вам стоит включить светлую тему в основной файл.

  • @lvivduncan
    @lvivduncan 2 роки тому

    спасибо, но на линуксе/виндовсе не работает

    • @pepelsbey
      @pepelsbey  2 роки тому +1

      Пожалуйста, но всё же работает: демо, открытое в Chrome на Windows 10 переключается на ночь, вслед за системной настройкой Personalization > Colors > Choose your color: Dark.

    • @lvivduncan
      @lvivduncan 2 роки тому

      @@pepelsbey секрет раскрыт: на виндовсе не работало, потому что разные настройки -- ссылка открывалась в браузере с настройками другого пользователя. в линуксе же (MX KDE) пока причина не найдена =)