У меня есть статьи с display:table
и оболочкой для изображений внутри с display:table-cell
для достижения вертикального и горизонтального выравнивания изображений. Изображения имеют ширину и высоту 80%, поэтому при изменении размера окна браузера изображение должно масштабироваться в пропорции.
<article class="layer">
<div class="wrap">
<img src="whatever.jpg" alt="image"/>
</div>
</article>
html, body, #content {
margin: 0; padding: 0;
height: 100%;
width: 100%;
}
article.layer {
position: relative;
display: table;
height: 100%;
width: 100%;
}
article.layer img {
max-width: 80%;
max-height: 80%;
}
div.wrap {
display: table-cell;
vertical-align: middle;
text-align: center;
}
Я пытаюсь сделать так, чтобы изображение всегда отображалось полностью. Поэтому я не хочу, чтобы он был обрезан при изменении размера окна браузера. Это прекрасно работает сейчас, когда я изменяю размер окна браузера по горизонтали, однако это не так при изменении размера по вертикали.
Вот пример: http://jsbin.com/ugumuj/10/edit#preview
Есть ли способ добиться того же при изменении размера окна браузера по вертикали?
Я бы хотел сделать это простым способом CSS, но я бы также использовал jQuery или Javascript для этого.
Есть идеи? Заранее спасибо.