兼容IE,FF的图片大小自动缩放CSS(+JS)

今天换了一个简洁一些的博客主题,然后按照自己的喜好修改了一些默认设置和形式,但是发现文章页面较大图片显示的问题非常郁闷,遂搜寻解决方案。

由于自己对CSS和JS都不太熟悉,所以找一些大家做出来的代码进行测试,浏览器那么多引擎真是一个杯具,有些代码可以在IE下正常Webkit等内核下不支持,有些却恰好相反,我又不想针对不同浏览器再单独定义css。。。好在最后找到了下面这段代码,感谢原作者。


img {
    max-width:550px;height:auto;cursor:pointer;
     padding: 3px;
    zoom:expression( function(elm) {
        if (elm.width>550) {
            var oldVW = elm.width; elm.width=550;
            elm.height = elm.height*(550 /oldVW);
        }
        elm.style.zoom = '1';
    }(this));
}




终于找到可以实现的代码了。。。

当然,如果您有更好的解决方案,希望能告诉我一下~

以下是原文转述:

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

代码来自:http://blog.loveyuki.com/Article/CSS_Image_Autosize_IE_Firefox.aspx,我做了一点点修改。

有话要说