2007年3月25日

利用CSS按比例缩小图片

当然,生成缩略图这个工作如果交给程序来完成,效果会好很多,但是有时出于某种因素,例如服务器不支持GD之类的,难免就要请CSS代劳。

把一副大图片按比例缩小到某个尺寸,对于现代浏览器,直接使用max-width和max-height两条CSS属性即可。阅读全文...

对于IE 6.0及以下版本,以上两条CSS属性均不会被理会。之前处理这种事情,我们往往会借助Javascript,然后为图片加上onload事件。例如:

<img src="..." alt="..." onload="resizeImage(this)" />
<script type="text/javascript">
function resizeImage(obj) {
    obj.width = obj.width > 50 && obj.width > obj.height ? 50 : auto;
    obj.height = obj.height > 50 ? 50 : auto;
}
</script>

这固然能解决问题,但是对以后页面的升级会带来麻烦——随着浏览器对CSS支持的完善,我们迟早会把图片上的onload事件统统去除。该是Expression的Show Time了,既然IE支持通过Expression在CSS中放置一些脚本,而这段脚本又只是提供给IE 6.0及以下版本使用,那么把它写到Expression中再合适不过。

最终,把一副大图片按比例缩小到50px*50px以内,可以参照以下这段CSS:

.thumbImage {
    max-width: 50px;
    max-height: 50px;
}
* html .thumbImage {
    width: expression(this.width > 50 && this.width > this.height ? 50 : true);
    height: expresion(this.height > 50 ? 50 : true);
}

至于图片是如何保持其高宽比例的,这张图片可以解释:

利用expression按比例缩小图片

标签: , , ,

 
Loading... 正在读取评论...
发表评论

*您的评论内容不会被任何搜索引擎检索和收录

*本站暂不交换友情链接

seccode

请把上图中的四个字母填到右边的输入框 (看不清?换一张

Info

这篇文章由 Dennis Lee 在 2007年3月25日,22:34 发表,目前有 ... 条评论,欢迎您参与讨论。如果您需要转载此文,请确保让我知道,并建议使用 Trackback 将转载信息通知到本页面。