一直以来有个很头疼的问题困扰着我,那就是图片缩放的问题,写到 JS 里面吧,不太容易修改。写到 CSS 里面吧,IE 6 又不支持 max-width,今天用了很久时间终于解决了这个问题,基本完美了,唯一不完美的就是 IE 6 只有在图片完全下载完成后才会自动调整大小,不过聊胜于无,总比进入页面后看到长长的横向滚动条舒服的多,这里使用了 expression,但是利用了一次加载,所以 expression 不会造成内存泄漏。当然,如果你有更好的解决方案,希望能与我交流。代码如下:

  1. .Image {  
  2.     max-width:600px;height:auto;cursor:pointer;  
  3.     border:1px dashed #4E6973;padding3px;  
  4.     zoom:expression( function(elm) {  
  5.         if (elm.width>560) {  
  6.             var oldVW = elm.width; elm.width=560;  
  7.             elm.height = elm.height*(560 /oldVW); 
  8.         } 
  9.         elm.style.zoom = '1'
  10.     }(this));
此文章由 于 2008-03-25 16:50 编辑

本日志由 Loveyuki 于 2008-03-25 16:28 发表,目前已经被浏览 9487 次,评论 25 次;

作者添加了以下标签: CSSFirefoxInternet Explorer自动缩放

引用通告:http://blog.loveyuki.com/Article/62/Trackback.ashx

评论订阅:http://blog.loveyuki.com/Article/62/Feeds.ashx

评论列表

  1. 2009-05-05 22:09 | # | 回复
    你好,我这边IE6显示的都压缩了,似乎高度得到的不对、
    不知道你有没有遇到过这种情况
    semor.yang@qq.com
  2. Gravatar
    Web3Lee
    2010-01-28 19:46 | # | 回复
    感谢强人,这个代码十分有用,收藏了~
  3. Gravatar
    venster
    2010-03-26 14:20 | # | 回复
    代码用着很方便。谢谢
  4. 2010-03-30 21:09 | # | 回复
    赶紧收藏了 - -|||
  5. 2010-07-29 18:15 | # | 回复
    我加上了,border:1px dashed #4E6973;padding: 3px;这些都有效,就是图片还是原始大小,不知道为什么
252/2
(必填)
(必填,不会被公开)