一直以来有个很头疼的问题困扰着我,那就是图片缩放的问题,写到 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));}

未经允许请勿转载于都人博客的文章。

标签: , ,

留下回复

你可以使用这些标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">