Как включить адаптивные фоновые изображения, которые превышают высоту браузера?

#html #css #image #responsive-design #responsive

Вопрос:

У меня есть фоновое изображение, которое превышает высоту браузера. Как я могу включить изображение, чтобы я мог прокрутить вниз, чтобы увидеть оставшуюся часть, сохраняя масштаб при разных размерах браузера? Код, который я написал или использовал, только обрезает изображение в соответствии с размером браузера. Переполнение, похоже, не влияет. введите описание изображения здесь

Ответ №1:

В зависимости от конечного результата, который вы ищете, вот некоторые подходы и инструменты, которые вы могли бы рассмотреть.

  • из-за различных соотношений сторон настольных и мобильных экранов иногда бывает трудно создать одно фоновое изображение, которое будет хорошо работать для всех. Но если вы подготовите фоновое изображение рабочего стола, скажем, шириной 1920 пикселей на 1080 пикселей, и мобильное фоновое изображение, скажем, шириной 640 пикселей на 960 пикселей, вы можете использовать медиа-запросы для указания разных фонов для разных видовых экранов.
    дополнительная информация: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Backgrounds_and_Borders/Resizing_background_images
 @media(max-width:480px){ 
    body{
       background-image:URL(mobile-background.jpg);
    }
 }

@media(min-width:481px){ 
    body{
       background-image:URL(desktop-background.jpg);
    }
} 
  • размер фонового изображения обложки или содержимого также очень полезен. Указание содержать означает, что фоновое изображение будет масштабироваться в соответствии с размером элемента, к которому оно применяется.

А указание обложки означает, что она заполнит фон элемента, к которому она применяется, и вы должны ожидать некоторого изменения фонового изображения. Вы также можете расположить изображение.
дополнительная информация: https://developer.mozilla.org/en-US/docs/Web/CSS/background-position

 div{  
   background-size: contain;  
   /* or */
   background-size: cover;
   background-position: center;
} 
 div{
   background-attachment: fixed;
}