用CSS使图片自适应显示宽度_Web标准教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

公司的项目中需要显示由用户提供URI链接的图片,可是预先无法获知图片的尺寸大小,如果图片尺寸过大将会影响页面布局。最理想的解决方案自然是自动生成缩略图,涉及的后台工作较为复杂,用CSS进行控制是一个可以接受的捷径。

如果用width属性强行设定显示尺寸似乎太不智能。幸好Firefox/Opera/IE7都提供了max-width属性支持。

假定希望图片显示宽度不超过500像素,CSS可能如下:

以下为引用的内容:
fit-image{ 
  border  :0; 
  max-width:500px; 
}

让我痛恨的IE6不支持max-width属性,但是利用IE独有的expression属性可以迂回的解决这个问题。

以下为引用的内容:
fit-image{ 
  border  :0; 
  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) 
  ); 
}

利用<img>的onload事件使图片加载完成后计算其尺寸大小,如果超过500像素就显示为500像素,否则显示其默认宽度。 

expression不是符合WEB标准的做法,不到万不得以不建议使用。但是不能不承认IE的很多扩展是不错的,IE不应该被轻视!

来源:模板无忧//所属分类:Web标准教程/更新时间:2008-04-14
相关Web标准教程