小熊泡泡

常用链接

统计

最新评论

如何用CSS使图片自适应显示宽度 (转载)

 

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

如果用 width 属性强行设定显示尺寸似乎太不智能。幸好 Firefox/Opera/IE 7 都提供了 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不应该被轻视! PermaLink

posted on 2006-07-08 21:39 小熊泡泡 阅读(383) 评论(1)  编辑  收藏 所属分类: html-css

评论

# re: 如何用CSS使图片自适应显示宽度 (转载) 2013-05-07 13:47 萨提亚

很好啊  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: