Возникли проблемы с CSS на мобильных устройствах, отображающих фоновое изображение в портретном формате. - PullRequest
0 голосов
/ 04 мая 2018

Я относительно новичок в программировании и пытаюсь получить фоновое изображение для отображения на мобильном телефоне. Кажется, работает нормально на мобильном пейзаже, но не на мобильном портрете. Он отображает около 1/3 изображения в портретной ориентации. Я пробовал высоту: 100% ширина: 100%, background-position: center, background-size: cover. Я также попытался создать другое изображение шириной 290 пикселей и затем использовать медиа-запросы для вызова этого изображения. Ни одна из этих вещей не сработала. Любая помощь, чтобы решить эту проблему будет принята с благодарностью?

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Вот еще одно предложение для вас.

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

Вот одно предложение для вас:
https://codepen.io/panchroma/pen/Lmjwyv

Важные биты:

(1) Вы хотите добавить метатег видового окна в заголовок документа, чтобы смартфоны не масштабировали содержимое по размеру экрана

<head>  
...  
<meta name="viewport" content="width=device-width, initial-scale=1">  
...
</head>  

Подробнее о метатегах области просмотра здесь

(2) Измените расположение фонового изображения слева внизу, тогда критический текст останется в поле зрения в других окнах просмотра

background-image: url(images/ComingSoon.jpg);
...
 background-position:left bottom;  
...  
}  

(3) Основываясь на том, что вы начали, создайте фоновое изображение второго портретного формата для мобильных устройств, а затем используйте медиазапрос, чтобы показать его под любым окном просмотра, наиболее подходящим для вашего дизайна

@media  screen and (max-width: 600px) {
    /* Small screen, non-retina */
 .bgimg { 
   background-image:    url(images/ComingSoon_Small_Portrait.jpg); 
       background-size: contain;
  } 
}    

Вот пример того, о чем я думаю

Размер фона не обязательно должен быть «содержать», я просто иллюстрирую, что он может отличаться от настроек для рабочего стола.

Удачи!

0 голосов
/ 05 мая 2018

Что такое предполагаемое поведение?

background-size: contain;

Максимальное масштабирование изображения без обрезки или растяжения изображения.

background-size: cover;

Масштабирует изображение как можно больше, не растягивая его. Если пропорции изображения отличаются от элемента, оно обрезается либо по вертикали, либо по горизонтали, чтобы не осталось пустого места.

(от https://developer.mozilla.org/en-US/docs/Web/CSS/background-size)

Если вы хотите показать все изображение без обрезки, вам нужно использовать background-size: contain;. Изображение больше не будет заполнять весь фон в портретном режиме, и вы, вероятно, также захотите добавить background-repeat: no-repeat;.

...