使用CSS max-width和max-height实现图片自动等比例缩小
很简单我们要使用到max-width和max-height,这样即可设置对象图片最大宽度和最大高度,这样图片就会等比例缩放图片,然图片相对不变形清晰。
使用max-width:300px或max-height:100px,即可解决图片比例缩小。但这样存在一个问题,如果按照宽度缩放,但图片过高会超出溢出盒子,这个时候需要对父级使用overflow:hidden隐藏超出图片内容。但是使用max-width或max-height,IE6不支持,我们需要设置个width:expression(this.width >300 ? "300px" : this.width)或者height:expression(this.height>100?"100px":this.height)。
解决IE6支持max-height
div css解决IE6支持max-width
一般情况下只需要设置好宽度限制,比如这里只设置最大宽度为300px(max-width:300px),然后对父级使用overflow:hidden隐藏溢出图片,同时为了兼容IE6我们设置个width:expression(this.width >300 ? "300px" : this.width)解决即可。
1、具体解决DIV+CSS实例代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>图片缩小不变形实例 www.divcss5.com</title>
<style>
.divcss5{ border:1px solid #000width:300pxheight:100pxoverflow:hidden}
.divcss5 img{max-width:300px_width:expression(this.width >300 ? "300px" : this.width)}
</style>
</head>
<body>
<div class="divcss5">
js版和css版自动按比例调整图片大小方法,分别如下:
<title>javascript图片大小处理函数</title><script language=Javascript>
var proMaxHeight = 150
var proMaxWidth = 110
function proDownImage(ImgD){
var image=new Image()
image.src=ImgD.src
if(image.width>0 && image.height>0){
var rate = (proMaxWidth/image.width < proMaxHeight/image.height)?proMaxWidth/image.width:proMaxHeight/image.height
if(rate <= 1){
ImgD.width = image.width*rate
ImgD.height =image.height*rate
}
else {
ImgD.width = image.width
ImgD.height =image.height
}
}
}
</script>
</head>
<body>
<img src="999.jpg" border=0 width="150" height="110" onload=proDownImage(this) />
<img src="room.jpg" border=0 width="150" height="110" onload=proDownImage(this) />
</body>
纯css的防止图片撑破页面的代码,图片会自动按比例缩小:
<style type="text/css">.content-width {MARGIN: autoWIDTH: 600px}
.content-width img{MAX-WIDTH: 100%!importantHEIGHT: auto!importantwidth:expression(this.width > 600 ? "600px" : this.width)!important}
</style>
<div class="content-width">
<p><img src="/down/js/images/12567247980.jpg"/></p>
<p><img src="/down/js/images/12567247981.jpg"/></p>
</div>
如果是图片的尺寸太大,要修改小一些。这种情况,通常都是使用雪碧图或者字体图标来做的。当然如果这些都不能满足你的需求,你也可以直接放图片,可以自己处理一张符合你需求的尺寸图片,也可以忽略图片的大小,然后使用css调整图片的尺寸大小即可,但是像素可能会被压缩。所以要根据自己的具体需求使用比较合适的解决方案。下面给你写一个案例。你可以参考是否符合自己的需求