css文件 如何使背景图片大小适应div的大小

html-css09

css文件 如何使背景图片大小适应div的大小,第1张

对背景图片设置属性:background-size:cover可以实现背景图片适应div的大小。

background-size有3个属性:

auto:当使用该属性的时候,背景图片将保持100%

的大小显示,不进行任何缩放。超过div的多余部分将被隐藏。当图片过小时,图片会自动平铺。这种属性通常用来做重复性的背景或者做半透明图片背景。

cover:当使用该属性时,图片将被缩放至恰好能覆盖div,并且图片被隐藏的部分最少,这种属性在大图背景中应用比较广泛。这点比较难理解,需要结合实践理解。

contain:当使用该属性时,图片被缩放至最大且能被完全展示出来,但是由于图片的的尺寸比例与div的尺寸比例会有不同,所以当图片不能盖住div时,图片会自动平铺。

先给你写个例子。

css样式为:

.box{ width:50pxborder:1px #000 solid}

img{ max-width:50px!importantheight:auto!importantwidth:expression(this.width >50 ? "50px" : this.width)!important}

html代码为:

<div class="box"><img src="pic.gif" alt="ad" /></div>

这样就可以了,<div class="box"></div>里面的图片都不会超出.box的宽度。

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

使用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">