问题:使用 CSS,如何使任意图像按比例放大/缩小以填充由浏览器框架中的最大高度/最大宽度环境的边界确定的可用空间,即使框架比图像大得多? 以下适用于大于框架的图像,但小图像不会 SCALE UP 超过 1:1 屏幕:图像像素。
的HTML:
<div class="frame"><span class="helperSpanToAlignImageVertically"></span>
<img class="imageRaw" src="somesmallimg.jpg">
</div>
CSS:
.frame {
position: fixed;
height: 100%;
width: 100%;
text-align: center;
}
.helperSpanToAlignImageVertically {
display: inline-block;
height: 100%;
vertical-align: middle;
}
.imageRaw {
vertical-align: middle;
max-height: 90%;
max-width: 90%;
}
示例:假设浏览器窗口为 1000 x 1000 像素。
1) 假设原始图像大小为 200 x 100 像素。视觉结果应该是 900 x 450 像素的图像,位于浏览器窗口的中心。
2) 假设原始图像大小为 1000 x 2000 像素。视觉结果应该是 450 x 900 像素的图像,位于浏览器窗口的中心。
注意:我希望这一切都是流畅的。如果浏览器窗口大小发生变化,图像应始终按比例缩放。