显示具有最小/最大高度/宽度的图像,同时在IE8中保持纵横比

时间:2011-11-11 22:07:54

标签: javascript jquery html internet-explorer

我有一个我在一个正好是100x150的窗口中显示的个人资料图片网格。

源图像尺寸从60x60到300x300。 (有些太大,有些太小)

我所做的除了IE8 +之外的所有浏览器都可以将img标签放在div中。

div具有精确的高度设置,隐藏溢出,img具有最小/最大宽度和高度设置。

除IE之外的所有浏览器都会将宽度/高度更改为最小/最大级别而不更改宽高比; IE改变宽高比(独立改变宽度和高度)。

background-size:封面已关闭,因为IE8不支持它。

想法?

2 个答案:

答案 0 :(得分:1)

而不是使用最小/最大宽度和高度;设置每个图像的宽度。当仅提供<img />标记中的一个参数时,浏览器(包括IE)将调整图像维持宽高比。像这样:

<div style="width: 100px; height: 150px;">
    <img src="#" style="width: 100px;" alt="#" />
</div>

答案 1 :(得分:1)

我认为你需要这样的脚本: 设置图像的宽度=父的宽度(带溢出的div): 图像高度&lt; div的高度? 是:设置图像的高度= div的高度(额外的宽度将被溢出div隐藏) 不:一切都好。高度将被隐藏

有jquery插件可以做这些事情。它们被称为“背景图像插件”,就像那样。但写自己很容易。

在代码中看起来像我的单词:How to resize images proportionally / keeping the aspect ratio?