深圳市前程网络科技服务中心官网,西丽大学城平山社区动物园上门维修电脑网络,企业it外包服务,电脑组装升级,打印办公设备,网络设备,耗材加粉,数据恢复,华硕、联想、戴尔、华为等品牌电脑代理 
前程电脑官方淘宝店
青鸟浏览器
360安全软件包
360极速浏览器X 64位
2345智能浏览器
temp-thumb
temp-thumb
temp-thumb
temp-thumb
temp-thumb

符合Web标准!CSS同比例缩小图片

[复制链接]
发表于 2012-9-12 11:24:18 | 显示全部楼层 |阅读模式
腾讯云服务器安全可靠高性能,多种配置供您选择

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

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

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


Example Source Code<imgsrc="..."alt="..."onload="resizeImage(this)"/><script type="text/javascript">functionresizeImage(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:

Example Source Code

.thumbImage{

max-width:50px;

max-height:50px;

}

*html.thumbImage{

width:expression(this.width>50&&this.width>this.height?50:auto);

height:expresion(this.height>50?50:auto);

}


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

EACF8736DB303A54D3F86623BB6F83D6.gif (图1)

来源:网易网


arc_d.gif
前程电脑技术爱好者社区:bbs.pc18.net
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 
QQ在线咨询
售前咨询热线
13714744580
售后服务热线
0755-26991837
快速回复 返回顶部 返回列表