Как показано на скриншоте ниже, я хотел бы разместить нижнее фиксированное изображение, которое должно появляться после (а не над) некоторым содержимым (логотипом и центральным текстом описания). Это изображение должно соответствовать ширине экрана.
Я придумал эти 2 неправильных решения. Во-первых, используя свойство CSS background-size:
// CSS
.bg {
width: 600px;
height: 300px;
position: fixed;
bottom: 0;
left: 0%;
background: url('image.jpg') no-repeat center fixed;
-webkit-background-size: contain;
-moz-background-size: contain;
-o-background-size: contain;
background-size: contain;
}
// HTML part
<div class="bg"></div>
Во-вторых, используя немного Javascript и распознавая изменение размера окна и устанавливая некоторые свойства css для тега изображения:
// JS
// some magick here...
if ((win_w / win_h) < ($bg.width() / $bg.height())) {
$bg.css({height: '100%', width: 'auto'});
} else {
$bg.css({width: '100%', height: 'auto'});
}
// HTML Part (I'm using a shim)
<img class="bg" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" alt="" style="position: relative; left: 0; bottom: 0" />
Эти решения работают, но я не хочу, чтобы изображение закрывало (или было фоном) логотип и описание. Вы можете помочь мне?
max-width: 100%;
, который сохранит размер изображения только таким же большим, как его контейнер (в данном случае область просмотра), и когда его ширина изменится, оно будет правильно масштабироваться и поддерживать соотношение сторон. Для IE вам понадобится специальная таблица стилей сwidth: 100%;
или прокладка дляmax-width
объявлений css. Дай мне знать, если это работает. - person Ilan Biala   schedule 11.07.2013