利用css实现图片等比例缩放

html-css08

利用css实现图片等比例缩放,第1张

随着智能手机的增多,手机网站也可以做的更加个性化,最近在改版自己的手机网站

这其中,遇到了网站图片尺寸问题,手机屏幕都比较小,怎么让上传的规则不一的图片在手机上显示的更加美观呢?

那就利用css的强大功能吧。

先附上代码:

img

{

max-width:500px

myimg:expression(onload=function(){

this.style.width=(this.offsetWidth

>

500)?”500px”:”auto”}

)

}

解析下其中的几个数字吧。

这里规定了最大尺寸是宽500px,超过500px

则自动等比例缩小到500px

上面这段代码可能在某些浏览器下效果不好,比如存在高度不自动缩放等问题

那么可以试试下面的代码

我们再附上一段代码,对全局都是有效,如果是针对正文内容,在img前加个限制

比如我下面写的,否则可能导致logo等图片变形

.context

img{

max-width:500px

//IE7、FF等其他非IE浏览器下最大宽度为500px

width:500px

//所有浏览器中图片的大小为500px

width:expression(document.body.clientWidth>300?”300px”:”auto”)

//当图片大小大于500px,自动缩小为500px

overflow:hidden

}

效果演示:源代码:.box { /*非IE的主流浏览器识别的垂直居中的方法*/ display: table-cellvertical-align:middle/*设置水平居中*/ text-align:center/* 针对IE的Hack */ *display: block*font-size: 175px/*约为高度的0.873,200*0.873 约为175*/ *font-family:Arial/*防止非utf-8引起的hack失效问题,如gbk编码*/ width:200pxheight:200pxborder: 1px solid #eee} .box img { /*设置图片垂直居中*/ vertical-align:middle/*非IE6下的等比缩放*/ max-height:150pxmax-width:150px/*IE6下的等比缩放,注意expression其实是运行了一个JS程序,所以如果图片很多的话会引起CPU占用率高*/ width:expression(this.width >150 &&this.height <= this.width ?