[整合]利用CSS + Javascript 缩小背景图片
2008-03-14 22:44
681 查看
当然,生成缩略图这个工作如果交给程序来完成,效果会好很多,但是有时出于某种因素,例如服务器不支持GD之类的,难免就要请CSS代劳。
把一副大图片按比例缩小到某个尺寸,对于现代浏览器,直接使用max-width和max-height两条CSS属性即可。
对于IE 6.0及以下版本,以上两条CSS属性均不会被理会。之前处理这种事情,我们往往会借助Javascript,然后为图片加上onload事件。例如:
Example Source Code [www.52css.com]
<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 [www.52css.com]
.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);
}
至于图片是如何保持其高宽比例的,这张图片可以解释:
以上只是对图片进行了缩放, 如果把一张图片作为背景,还可以用这种方法吗? 很明显不能.
我们需要更灵活的来处理这个需求. 请参考下面这个方法.
1. 用一个DIV里放一张图片,调整大小, 然后更改Z轴的值, 让它跑到别一个DIV的下面, 不就可以曲线实现背景图片缩放了吗?
<div id="fpdiv" style="z-index:1;position:absolute;width:1024px;height:727px;"><font color=#ffffff>上面的文字</font></div>
<div style="position:absolute;z-index:-1;width=1024"><img src="http://www.ce65.net/upload/opportnuity/2006-05-24/07/cata_12156/init548102.jpg"></div>
2.还可以用CSS滤镜来实现, 这个比较高级,我没有验证.大家仅供参考.
<html>
<body>
<table>
<tr>
<td style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://www.nowfs.com/kc/UploadFiles/2005620154136201.jpg', sizingMethod='scale');"
align="center" width=300 height=200>
</td>
</tr>
</table>
</body>
</html>
把一副大图片按比例缩小到某个尺寸,对于现代浏览器,直接使用max-width和max-height两条CSS属性即可。
对于IE 6.0及以下版本,以上两条CSS属性均不会被理会。之前处理这种事情,我们往往会借助Javascript,然后为图片加上onload事件。例如:
Example Source Code [www.52css.com]
<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 [www.52css.com]
.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);
}
至于图片是如何保持其高宽比例的,这张图片可以解释:
以上只是对图片进行了缩放, 如果把一张图片作为背景,还可以用这种方法吗? 很明显不能.
我们需要更灵活的来处理这个需求. 请参考下面这个方法.
1. 用一个DIV里放一张图片,调整大小, 然后更改Z轴的值, 让它跑到别一个DIV的下面, 不就可以曲线实现背景图片缩放了吗?
<div id="fpdiv" style="z-index:1;position:absolute;width:1024px;height:727px;"><font color=#ffffff>上面的文字</font></div>
<div style="position:absolute;z-index:-1;width=1024"><img src="http://www.ce65.net/upload/opportnuity/2006-05-24/07/cata_12156/init548102.jpg"></div>
2.还可以用CSS滤镜来实现, 这个比较高级,我没有验证.大家仅供参考.
<html>
<body>
<table>
<tr>
<td style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://www.nowfs.com/kc/UploadFiles/2005620154136201.jpg', sizingMethod='scale');"
align="center" width=300 height=200>
</td>
</tr>
</table>
</body>
</html>
相关文章推荐
- 分享一个自己利用javascript中的window.setInterval()定时器实现页面背景图片淡入淡出效果
- 利用javascript实现图片动态的放大和缩小
- 利用javascript实现图片动态的放大和缩小
- 分享一个自己利用javascript中的window.setInterval()定时器实现页面背景图片变换的特效(同时淡入淡出效果)
- 利用javascript设置图片等比例缩小
- 利用javascript设置图片等比例缩小
- 利用javascript实现图片动态的放大和缩小
- 利用javascript实现图片动态的放大和缩小
- 利用javascript实现图片动态的放大和缩小
- 利用“Nifty Corners Cube”不用css样式表和背景图片实现圆角矩形,超简洁
- 利用jQuery和CSS将背景图片拉伸
- javascript--样式切换,图片切换,随机背景
- CSS实例:利用CSS定位背景图片
- javascript随机显示背景图片的方法
- javascript随机显示背景图片的方法
- JavaScript 网页背景图片随机化
- 利用CSS按比例缩小图片
- Android利用selector设置按钮不同状态下的背景图片
- 设置网页背景图片不随网页内容放大缩小
- 利用javascript从数据库取数据来实现CSDN首页图片的切换效果