如何用CSS使图片自适应显示宽度

html-css05

如何用CSS使图片自适应显示宽度,第1张

绻计叽绻蠼嵊跋煲趁娌季帧W罾硐氲慕饩龇桨缸匀皇亲远伤趼酝迹婕暗暮筇üぷ鹘衔丛樱肃SS进行控制是一个可以接受的捷径。如果用 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标准的做法,不到万不得以不建议使用。

padding-top= (高度/宽度)*100%即图片的高度与宽度的比例,因此就能实现背景图宽度100%,高度自适应

为了达到更好的效果再配合cover和center

下面是个简单的实现例子:

<div style="position:relative width:100% height:505px overflow:hidden">

   <img src="图片链接,我这里用的是1920*505的" style="position:absolute left:50% top:0 width:1920px height:505px margin-left:-960px"/>

</div>

如果把图片作为背景图就更简单:

<div style="width:100% height:505px background:url(图片链接,我这里用的是1920*505的) no-repeat center / cover">

</div>