DIV+CSS,如何让图片自适应大小?

2024-11-05 22:38:39
推荐回答(5个)
回答1:

先给你写个例子。
css样式为:
.box{ width:50px; border:1px #000 solid;}
img{ max-width:50px!important; height:auto!important; width:expression(this.width > 50 ? "50px" : this.width)!important;}
html代码为:

ad


这样就可以了,
里面的图片都不会超出.box的宽度。
max-width:50px 和(width:expression(this.width > 50 ? "50px" : this.width) 这里面的50设置成你想要的宽度就可以了,如果图片宽度大于这个数值,就会自动缩小。

回答2:

图片尺寸过大将会影响页面布局。最理想的解决方案自然是自动生成缩略图,涉及的后台工作较为复杂,用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)
  );
  }
  利用的onload 事件使图片加载完成后计算其尺寸大小,如果超过500像素就显示为500像素,否则显示其默认宽度。
  expression 不是符合WEB标准的做法,不到万不得以不建议使用。但是不能不承认IE的很多扩展是不错的,IE不应该被轻视!

回答3:

个人感觉还是用javascript来控制比较合理,如果用CSS来控制,兼容性是个问题。
给段代码:


jQuery(function($){ $(".entry").ImageToggleSize(530,'*'); });中的“.entry”表示你想保护的DIV的class名称,530表示你想控制的图片最大宽度。

回答4:

在CSS中设定DIV的样式,然后在image中设定为style="height: 100%; width:100%;“
看下我的百度空间吧,里面有实例
http://hi.baidu.com/%D0%A1%D0%A1%D0%A1%B5%C4%CF%BA%C3%D7/blog/item/1d4eb478105c7bf62f73b339.html

回答5:

那需要给img 定义宽度和高度 。