解决ie6不支持max-width

PHPABC CSS, JavaScript 740 次浏览 , 没有评论

由于IE6不支持max-width属性,所以只有通过js来实现
第一种是利用css中的expression来实现例如

_width: expression(this.offsetWidth > 500 ? "500px" : this.offsetWidth + "px");

可是这种方法很有可能造成浏览器的崩溃,很耗资源,而且会出现不可预料的错误

第二种就是在js函数中调用:
比如如果我们要动态显示某张图片,并给图片设定最大宽度,当图像加载完后我们可以对图像的宽度进行动态判断,如果大于最大宽度则设置最大值,否则取原有值

   1. function resizeImg(img){  
   2.         var image=new Image();  
   3.         image.src = img.src;  
   4.         if(image.width > 500 || image.width <= 0)  
   5.             img.style.width = 500 + "px";  
   6.         else  
   7.              img.style.width = image.width + "px";  
   8. }

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

Go