Это зависит от того, как вы хотите отображать свой фон. Он не требует содержимого внутри элемента, чтобы получить background-size: contain
. ваша проблема в том, что ваш рост идет по пикселям, это не поддерживает вашу отзывчивость вашего элемента.
Лучше всего использовать либо процент, либо высоту видового экрана. Остерегайтесь того, что высота видового экрана не поддерживается всеми браузерами.
Пример 1: держите свой фон в центре и вписывайтесь в границы своего элемента, а также сохраняйте свой фон пропорциональным.
<div id="join-container"></div>
УС:
#join-container {
position: relative;
width: 100vw;
height: 30vh;
background: url('http://placehold.it/1000x500') no-repeat;
background-size:contain;
background-position: center;
border: 1px black solid;
}
Пример 2: всегда заполнить элемент с фоном. Недостатком может быть искажение вашего изображения.
<div id="join-container_2"></div>
CSS:
#join-container_2 {
position: relative;
width: 100vw;
height: 30vh;
background: url('http://placehold.it/1000x500') no-repeat;
background-size: 100% 100%;
background-position: center;
border: 1px black solid;
}
Пример: https://jsfiddle.net/mmru9m9o/ Играть с размером экрана.
Если вам действительно нужно сохранить высоту div в пикселях, вы можете начать думать о медиа-запросах.Вы проверите это здесь: https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries
попробуйте фон размер: содержать; – devtye
'background-size: содержать' или' background-size: cover', в зависимости от: https://css-tricks.com/almanac/properties/b/background-size/ –
@cale_b 'cover' может не сработать для него , потому что решение должно быть отзывчивым. поэтому он может не показывать весь фон, в зависимости от размера видового экрана. – devtye