公司的项目中需要显示由用户提供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不应该被轻视!
作者:gdgzboy@牛C网
地址:http://www.niuc.net/post/2813/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
巧妙利用CSS自定义网页下划线样式
用CSS制作网页时居中如何实现?
CSS 继承关系的空格与不空格
WEB标准中细线表格的实现方法
经验共享-两年以来使用DIV排版的经验
link visited hover active顺序的问题
学习网页Web标准-DOCTYPE(文档类型)基础知识
CSS 3 选择器解释
CSS控制 如何让12px以下的文字正常显示
CSS的利与弊(下)
怎么系统的学习 Web 标准?
CSS在IE与Firefox下的兼容性





