Я использую этот CSS:
.wrap {
max-width:1400px;
min-width:768px;
width:100%;
background-repeat: no-repeat scroll;
background-position: center top;
position: relative;
margin-top: 0;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
.image {
width: 100%;
height: 600px;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
}
Чтобы центрировать изображение и масштабировать его на основе размера окна, остановите масштабирование на 768 пикселей. Я не могу отобразить нижнюю часть изображения, когда окно имеет больший размер (он отлично работает, когда окно минимизировано). Когда я изменяю высоту класса .image
до более чем 600 пикселей, он разбивает масштаб изображения...
Вот демонстрация проблемы: http://jrbaldwin.com/css_issue/
Я думаю, что это не масштабирование, потому что высота остается фиксированной. Например, установите высоту.image 1000px. Он должен увеличить изображение, чтобы покрыть 1000 пикселей, чтобы он заполнял всю высоту 1000 пикселей в любое время, независимо от ширины изображения.
Возможно, попробуйте:
размер фона: 100%; background-repeat: no-repeat;
Попробуйте эти стили:
.image{
width: 100%;
height: 600px;
max-height: 1000px;
background-size: contain;
background-repeat: no-repeat;
background-position: center center;
max-height: 1000px;
}
Основная идея состоит в том, чтобы использовать свойство "содержать"
Дополнительная информация: https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Scaling_background_images
Используйте фон-размер: используйте вместо крышки.
Основываясь на ответе @jtlowe, не могли бы вы добиться правильного эффекта, используя background-size: contain
вместо этого, вместо этого?
Поскольку вы уже твердо находитесь в домене CSS3, вы можете создать медиа-запрос, который использует cover
в окнах меньшего размера.
background-position: center center;background-repeat: no-repeat; background-size: contain;
по классу.image
иmin-width: 100%;
для класса.wrap
- выглядит правильно для меня в FF.