纯js实现的div图像自适应大小(经过测试,兼容Firefox)
该代码的功能是,我们通常会遇到一个div包含img。当img图像大小是未知的,DIV的大小是未知的,图片的大小是可以改变的,它不处理图像本身小于div容器。因为如果是拉伸,图像可能会扭曲。不多说,直接上代码,测试,火狐,谷歌,IE6兼容,IE7 / 8
下面是js代码:
复制代码代码如下所示:
窗口。指针函数(){
ChangeImgSize();
}
功能changeimgsize(){
无功getcontainer = document.getelementbyid('imgcontainer);
无功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;
如果(m>=1n < = 1)
{
IW = math.ceil(IW /米);
IH = math.ceil(IH /米);
getimg宽度= IW;
getimg高度= IH;
}
否则如果(m=1)
{
IW = math.ceil(IW / N);
IH = math.ceil(IH / N);
getimg宽度= IW;
getimg高度= IH;
}
如果(m>=1n > = 1)
{
getmax = math.max(m,n);
IW = math.ceil(IW / getmax);
IH = math.ceil(IH / getmax);
getimg宽度= IW;
getimg高度= IH;
}
如果(getimg。高度<FH)
{
无功getdistance = math.floor((FH getimg。高度) / 2);
getimg。风格。margintop = getdistance.tostring()+PX;
}
}
下面是HTML代码:
复制代码代码如下所示:
以下是CSS代码:
复制代码代码如下所示:
。sy_pic {宽度:200px;身高:300px;边界:# 000固体5px;文本对齐:中心;}
请自行更改图片地址。请添加QQ群:问题或说明:255708401。