Переполнение стека, похоже, полон подобными вопросами, но я не нашел удовлетворительного ответа для моего варианта использования. В принципе, мне нужно отзывчивое полноэкранное фоновое изображение для верхней части моей первой страницы. Средства, сужающие окно просмотра, приводят к обрезке, а не растяжению; изображение должно быть центрировано. Я хотел бы избежать JS для этого.Как центрировать обрезку фонового изображения на полный экран
Aaron создал fiddle, который почти похож на то, что я ищу. Две проблемы:
- Странное поведение при сужении окна просмотра (ниже 500px ширина)
position: fixed;
я смог воспроизвести solution of Bryce Hanscomb and Gabriela Gabriel для контейнера (см my fiddle):
Но я не смог расширить его до полного экрана. Это мой код (см fiddle):
HTML:
<div id="background">
<img src="//dummyimage.com/600x200/0099cc/fff.png" />
</div>
CSS:
div#background {
background-color: orange;
min-height: 100%;
min-width: 100%;
overflow: hidden;
position: absolute;
top: 0;
z-index: -1;
}
img {
left: 50%;
position: relative;
transform: translate(-50%, 0);
min-height: 100%;
min-width: 100%;
}
Проблема № 1: Изображение не занимает полный высота его родительского div (с min-height
установлена в 100%
).
Проблема # 2 + # 3: В узком окне проекции, изображение обрезается справа (не по центру), а горизонтальная полоса прокрутки отображается.
Как примечание стороны, может кто-нибудь сказать мне where those 4 pixels come from?
Я просто запрашиваю дополнительную информацию: вы хотите, чтобы ваше изображение занимало всю высоту и ширину фонового контейнера? (в вашей скрипке, это на 100% выше и выше). Если это так, попробуйте 'position: absolute' на вашем изображении, он останется центрированным и заполнит фоновый контейнер – ntgCleaner
Кроме того, есть ли у вас какие-либо проблемы с использованием CSS-фона 'вместо фактического' 'изображения? – ntgCleaner
да почему просто вы просто используете фон - содержат? –