javascript - 调整图像大小以适合其容器

标签 javascript prototype

#foo {width: 300px; height: 400px; overflow: hidden;}

<div id="foo"></div>

this.someimage = randomImageUrl;
$("foo").innerHTML = "<img src='"+this.someimage+"' class='fooimage' />";

现在,图片可能是 200x200 或 1100x400 ...这完全是随机的。我可以使用以下方法拉伸(stretch)它(或减小其大小):

.fooimage {width: 300px; height: 400px;}

$("foo").innerHTML = "<img src='"+this.someimage+"' class='fooimage' />";

或者我可以测试它的大小:

imgHeight = newImg.height; 
imgWidth = newImg.width;

...也许是这样的:

if(imgHeight >400){
   $("foo").innerHTML = "<img src='"+this.someimage+"' height='400' />";
}

浏览器将完成剩下的工作。

但是一定有更好的东西。有任何想法吗?谢谢! :)

最佳答案

这是(支持较差的)max-widthmax-height 属性背后的想法。据说 IE7 支持这些,并且其他所有现代版本也支持它们。

在图像上,您可以设置 max-widthmax-height,支持 IE > 7 和其他所有内容,然后选择您真正需要的大多数在 widthheight 之间,使用 IE6 条件来设置。它在 IE6 上看起来不太一样,但这是一个简单的解决方案。 (IE6 使用率下降了大约 10%,所以这已经不再那么糟糕了。)

或者您可以使用the "IE7" library只需设置 max-width 和 max-height,代价是另一个奇怪的 Javascript 库。

关于javascript - 调整图像大小以适合其容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2406536/

相关文章:

Javascript 对象原型(prototype) TypeError : . .. 未定义

javascript - 关于 javascript 中的 Object.create 的困惑

javascript - 如何从动态构建的表中选择ad元素?

javascript - javascript Date 对象中的时区问题

javascript - 仅使用 show ("slow"为附加文本设置动画)

javascript - socket.io 错误 - 'Uncaught, unspecified "错误“事件。”

javascript - 如何在响应式网站中创建连接两个图像的线?

javascript - 为什么我的对象没有构造函数?

javascript - 为什么我不能将 String.prototype.toLowerCase 与 underscore.js 链接起来?

javascript - 在JavaScript中使用 'prototype'和 'this'?