一直以来有个很头疼的问题困扰着我,那就是图片缩放的问题,写到 JS 里面吧,不太容易修改。写到 CSS 里面吧,IE 6 又不支持 max-width,今天用了很久时间终于解决了这个问题,基本完美了,唯一不完美的就是 IE 6 只有在图片完全下载完成后才会自动调整大小,不过聊胜于无,总比进入页面后看到长长的横向滚动条舒服的多,这里使用了 expression,但是利用了一次加载,所以 expression 不会造成内存泄漏。代码如下:
这是控制所应用该样式的页面所有图片
.img { 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));}
如果要用于某个特定类或者标签则可以这样写:
(XXXXX代表你的类或者标签)
.XXXXX .XXXXX img { 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));}
如:
article .content img { max-width:600px;height:auto;cursor:pointer; zoom:expression( function(elm) { if (elm.width>600) { var oldVW = elm.width; elm.width=600; elm.height = elm.height*(560 /oldVW); } elm.style.zoom = '1'; }(this));}
未经允许请勿转载于都人博客的文章。