ie6不支持max-width的解决方案

由于ie6不支持max-width属性,所以只有通过js来实现
第一种是利用css中的expression来实现例如
_width: expression(this.offsetWidth > 500 ? "500px" : this.offsetWidth + "px");
可是这种方法很有可能造成浏览器的崩溃,很耗资源,而且会出现不可预料的错误
第二种就是在js函数中调用:
比如如果我们要动态显示某张图片,并给图片设定最大宽度,当图像加载完后我们可以对图像的宽度进行动态判断,如果大于最大宽度则设置最大值,否则取原有值
function resizeImg(img){
        var image=new Image();
        image.src = img.src;
        if(image.width > 500 || image.width <= 0)
            img.style.width = 500 + "px";
        else
             img.style.width = image.width + "px";
}

貌似ie对img.width支持不是很好,返回值一直为0.而借助中间对象,可以解决该问题,而firFox绝对没有这个问题。另外为以防万一,我们设定如果图片width真返回为0时,图片宽也为500.

你可能感兴趣的:(css,浏览器,IE)