http://www.gengbing.com/aboutme/?p=916
很多人都有这个问题,就是博客中的图片把网页撑的老大老大的,其实不止是图片,还有代码,一连串的字母或者标点,很难完美的解决,至少我还不能,有人能了,我也懒得找了,去loveyuki的博客上看他那里写的关于图片的缩放的代码,就拿过来记录下了,方便自己以后做模板的时候用下,以下是正文:
一直以来有个很头疼的问题困扰着我,那就是图片缩放的问题,写到 JS 里面吧,不太容易修改。写到 CSS 里面吧,IE 6 又不支持 max-width,今天用了很久时间终于解决了这个问题,基本完美了,唯一不完美的就是 IE 6 只有在图片完全下载完成后才会自动调整大小,不过聊胜于无,总比进入页面后看到长长的横向滚动条舒服的多,这里使用了 expression,但是利用了一次加载,所以 expression 不会造成内存泄漏。当然,如果你有更好的解决方案,希望能与我交流。代码如下:
CSS代码
- .Image {
- max-width:600px;
- height:auto;
- cursor:pointer;
- border:1px dashed #4E6973;
- padding: 3px;
- zoom:expression( function(elm) {
- if (elm.width>560) {
- var oldVW = elm.width; elm.width=560;
- elm.height = elm.height*(560 /oldVW);
- }
- elm.style.zoom = ’1′;
- }(this));
- }
8 条评论
img { max-width : 500px;width: expression (function(img){img.onload=function(){this.style.width = ’’;this.style.width = (this.width > 500)?"500px":this.width+"px" }; return ’120px’ //加载时显示宽度为120px}(this)); /* 图片宽度大于500像素都强制显示为500像素宽 */
我代码库里存的~
哪个好用?
你可以自己做个页面试试。一般的 expression 会有内存泄漏的问题。不定义高度的话,有时候图片会变形……
呀~
嘿嘿~
支持老鬼推荐的!
可乐可是超级牛B的网页设计师网站构架师,反正集好多师于一身,大师!
过来学习!
很奇怪,用可乐的代码会让我一些小图片也变大,用LZ的一切正常,谢谢!IE6还是大部分人使用的,没办法啊。
嗯。很好!很有用=u=