Разные экраны, разные разрешения фоновых картинок. Как?
Предстоит задача с фоновым изображением на всю страницу.
Под разные экраны свое изображение. Указывать в CSS файле через медиа запросы не подходит. Вариант с picture тоже, так как это фоновое изображение на котором строится остальная страница. По мне это будет не правильно, если это не так, то скажите почему. Ну и если через picture, то придется на absolute садить его.
Фоновое изображение будет заменяться через CMS, следовательно нужно будет сделать через атрибут style и из-за этого вопрос и возник, если картинка будет заменяться, то как сделать под разные разрешения экрана свою картинку через html файл?
Дополнительно:
Указывать в CSS файле через медиа запросы не подходит.
Почему?
Ну и если через picture, то придется на absolute садить его.
В современном вебе есть гриды.
Если нужен webp, то picture или media+ js.
Ждем нормальную поддержку image-set.
Или за такое руки отрубают?
Я в целом не заморачивался бы над картинкой настолько, если бы её на какой-либо CMS нужно будет заменять.
Правда, экономически невыгодно в случае со многими вариациями картинки.
Я бы, наверное, в таком случае, использовала picture, aria-hidden="true" и гриды.
Если клиент в принципе в силах подготовить картинки для новой пикчи... (сомнения)
А если не готов и всё равно будет обращаться к вам, то и CMS не при чем
Что-то я не понимаю как тут можно через grid делать?
Фоновая картинка на весь сайт
Есть еще кстати 3-й вариант, сделать под каждое разрешение отдельный слой. В css файле крутите эти слои как вам надо, а в разметке подставляете только фон. Это могут быть как div, так и img или picture
Что-то я не понимаю как тут можно через grid делать?
Так и сделать. Растянуть на все ячейки грида. Пройдите игру по гридам, гуглится по grid garden. Отлично помогает в освоении.
body { background: black no-repeat / cover; background-image: var(--bg-image-mobile); } @media (min-width: 768px) { body { background-image: var(--bg-image-tablet); } } @media (min-width: 1200px) { body { background-image: var(--bg-image-desktop); } } |
body { background: black no-repeat / cover; background-image: var(--bg-image-mobile); } @media (min-width: 768px) { body { background-image: var(--bg-image-tablet); } } @media (min-width: 1200px) { body { background-image: var(--bg-image-desktop); } }
<body style=" --bg-image-mobile: url(/images/bg-image-mobile.jpg); --bg-image-tablet: url(/images/bg-image-tablet.jpg); --bg-image-desktop: url(/images/bg-image-desktop.jpg); "> </body> |
<body style=" --bg-image-mobile: url(/images/bg-image-mobile.jpg); --bg-image-tablet: url(/images/bg-image-tablet.jpg); --bg-image-desktop: url(/images/bg-image-desktop.jpg); "> </body>
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

Для того, чтобы обеспечить адаптивность фоновых картинок на разных экранах и разрешениях, можно использовать медиа-запросы в CSS. Медиа-запросы позволяют применять определенные стили к элементам в зависимости от характеристик устройства, таких как ширина экрана, разрешение и ориентация.
Пример использования медиа-запросов для фоновых картинок на разных экранах:
/* Стили для фоновой картинки по умолчанию */ .background { background-image: url('default-background.jpg'); } /* Медиа-запрос для устройств с шириной экрана менее 768px */ @media only screen and (max-width: 768px) { .background { background-image: url('mobile-background.jpg'); } } /* Медиа-запрос для устройств с шириной экрана от 768px до 1024px */ @media only screen and (min-width: 768px) and (max-width: 1024px) { .background { background-image: url('tablet-background.jpg'); } } /* Медиа-запрос для устройств с шириной экрана более 1024px */ @media only screen and (min-width: 1024px) { .background { background-image: url('desktop-background.jpg'); } }
В данном примере мы устанавливаем разные фоновые изображения для разных устройств в зависимости от их ширины экрана. Вы можете создать различные изображения для мобильных устройств, планшетов и настольных компьютеров, и использовать их с помощью медиа-запросов.
Таким образом, ваш веб-сайт будет выглядеть оптимально на разных устройствах и экранах, а фоновые изображения будут адаптироваться под разные разрешения. Не забывайте также о производительности, старайтесь использовать оптимизированные изображения для каждого устройства, чтобы ускорить загрузку страницы.