兼容IE,Firefox的图片自动缩放CSS代码

逍遥老鬼 撰写  

摘录Loveyuki`blog

  很多人都有这个问题,就是博客中的图片把网页撑的老大老大的,其实不止是图片,还有代码,一连串的字母或者标点,很难完美的解决,至少我还不能,有人能了,我也懒得找了,去loveyuki的博客上看他那里写的关于图片的缩放的代码,就拿过来记录下了,方便自己以后做模板的时候用下,以下是正文:

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

CSS代码
  1. .Image {   
  2.     max-width:600px;   
  3.     height:auto;   
  4.     cursor:pointer;   
  5.     border:1px dashed #4E6973;   
  6.     padding3px;   
  7.     zoom:expression( function(elm) {    
  8.          if (elm.width>560) {   
  9.               var oldVW = elm.width; elm.width=560;                 
  10.               elm.height = elm.height*(560 /oldVW);            
  11.          }   
  12.          elm.style.zoom = ’1′;   
  13.      }(this));   
  14. }  

8 条评论

  1. 可乐
    发表了 1970/01/01 在 8:00 上午 | 永久链接 | Reply

    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像素宽 */

    我代码库里存的~

  2. 逍遥老鬼
    发表了 1970/01/01 在 8:00 上午 | 永久链接 | Reply

    哪个好用?

  3. 发表了 1970/01/01 在 8:00 上午 | 永久链接 | Reply

    你可以自己做个页面试试。一般的 expression 会有内存泄漏的问题。不定义高度的话,有时候图片会变形……

  4. 发表了 1970/01/01 在 8:00 上午 | 永久链接 | Reply

    呀~
    嘿嘿~
    支持老鬼推荐的!

  5. 逍遥老鬼
    发表了 1970/01/01 在 8:00 上午 | 永久链接 | Reply

    可乐可是超级牛B的网页设计师网站构架师,反正集好多师于一身,大师!

  6. iced
    发表了 1970/01/01 在 8:00 上午 | 永久链接 | Reply

    过来学习!

  7. 发表了 2009/09/25 在 3:05 下午 | 永久链接 | Reply

    很奇怪,用可乐的代码会让我一些小图片也变大,用LZ的一切正常,谢谢!IE6还是大部分人使用的,没办法啊。

  8. 发表了 2010/02/13 在 3:46 下午 | 永久链接 | Reply

    嗯。很好!很有用=u=

发表评论

Your email is never shared. 标记为 * 的为必填项目

*
*