Posted in Javascript onJune 16, 2014
这代码实现的功能就是平常我们遇到的一个div里面包含img的时候,在img图片大小未知,div大小未知的情况下,让图片自适应大小,对于图片本身小于div容器大小时,不作处理。因为如果拉伸,图片可能就失真了。
废话不多说,直接上代码,已测试,兼容火狐,谷歌,IE6,IE7/8
以下是js代码:
<script type="text/javascript" language="javascript"> window.onload=function(){ changeImgSize(); } function changeImgSize(){ var getContainer=document.getElementById('imgcontainer'); var getIMG=getContainer.getElementsByTagName('img')[0]; var fw=getContainer.offsetWidth-(2*getContainer.clientLeft); var fh=getContainer.offsetHeight-(2*getContainer.clientTop); var iw=getIMG.width; var ih=getIMG.height; var m=iw/fw; var n=ih/fh; if(m>=1&&n<=1) { iw=Math.ceil(iw/m); ih=Math.ceil(ih/m); getIMG.width=iw; getIMG.height=ih; } else if(m<=1&&n>=1) { iw=Math.ceil(iw/n); ih=Math.ceil(ih/n); getIMG.width=iw; getIMG.height=ih; } else if(m>=1&&n>=1) { getMAX=Math.max(m,n); iw=Math.ceil(iw/getMAX); ih=Math.ceil(ih/getMAX); getIMG.width=iw; getIMG.height=ih; } if(getIMG.height<fh) { var getDistance=Math.floor((fh-getIMG.height)/2); getIMG.style.marginTop=getDistance.toString()+"px"; } } </script>
以下是html代码:
<div class="sy_pic" id="imgcontainer"><img src="images/444.jpg" /></div>
以下是css代码:
.sy_pic{ width:200px; height:300px; border:#000 solid 5px; text-align:center;}
自己换下图片地址使用。有问题或者指教请加QQ群:255708401。
纯js实现div内图片自适应大小(已测试,兼容火狐)
- Author -
whsnow声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@