如何用DIV+CSS控制图片大小范围?

html-css013

如何用DIV+CSS控制图片大小范围?,第1张

使用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:e­xpression(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调整图片的尺寸大小即可,但是像素可能会被压缩。所以要根据自己的具体需求使用比较合适的解决方案。下面给你写一个案例。你可以参考是否符合自己的需求