@by_ultra

Как корректно вставлять картинки в темную / светлую тему?

Делаю сайт со сменой темной темы на светлую и на оборот при помощи переключателя.
Возник вопрос со вставкой картинок. Для каждой из тем свои картинки, который адаптированы под светлый и темный макет.
Картинки вставляю через background-image.
В переменных закинуты картики --banner-mobile-320: url('../images/banner-dark-mobile-320.png');
По макету задействованы брейкпоинты 320, 428,768, 1440 и 2560.
Вопрос заключается в следующем. Верное ли это решение? Так как не будет возможности замены картинки через админку.
Да и поведение картинок через background-size: cover / content не совсем нравится. Может кто-то из гуру посоветует, как быть в данном случае?
Образец:
61b268293f798761596204.png
61b268354fcb7483864892.png
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ответы на вопрос 2
oink
@oink
Профессиональный веб-макакинг
Не очень понятно, почему не будет возможности менять через админку (как и зачем это вообще украшательства сайта через админку менять, но это ладно, это больше вопрос к заказчикам). Весь контекст из такой постановки задачи не ясен, но навскидку можно заводить по 2 переменных с фонами для каждого такого места, примерно так:
--banner-mobile-320-dark: url('../images/banner-dark-mobile-320.png');
--banner-mobile-320-light: url('../images/banner-light-mobile-320.png');

При переключении темы наверняка меняется/добавляется какой-то класс на весь body, исходя из этого можно уже каскадничать.
Или если это не правится, можно вешать на блоки два data-атрибута, заполняя их из админки теми же путями к бекграундам, и JSом подменять после переключения.
Ответ написан
Комментировать
@kukaNuna
Можно сделать 2 класса dark-theme и light-theme.

В зависимости от темы - вставлять класс в boby. А в стилях для одни и тех элементов прописать разные картинки в зависимости от класса dark-theme и light-theme.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы