源于生活
标题:
HTML代码-让你的div内的图片自适应大小-装哔不是一瞬间
[打印本页]
作者:
kevin-ying
时间:
2015-9-5 02:16
标题:
HTML代码-让你的div内的图片自适应大小-装哔不是一瞬间
这代码实现的功能就是平常我们遇到的一个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;}
复制代码
(已测试,兼容火狐)
作者:
kevin-ying
时间:
2015-9-5 02:34
我们(特别是像我一样的菜鸟)经常会遇到一个问题——图片自适应。这个问题是很普遍的。在文章区,在论坛,可以这么说:哪儿需要上传图片,哪儿就存在这个问题,而论坛上也不时有人询问。为什么?原因很简单,我们不能要求网页编辑或者你的论坛会员都会裁剪图片或者了解最基本的html代码——尽管这并没有多少技术含量。
以前的解决方法主要是利用js来实现,但用过的人都知道该办法有点繁琐。还有一种是在外部容器定义over-flow:hidden。但这种办法只会切割图片而不会自动适用。
下面的办法的出现应该感谢伟大的css2.0和更伟大的microsoft(没有它就不必有这么啰嗦的代码了^_^)。本人仅在ie6.0,ff1.5,opera7.0于winXP下测试通过,希望通过此篇文章抛砖引玉,望更多高手指点。关键在于:max-width:780px;以及下面那行。
百分比适应
:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>css2.0 by:kevin-ying HTTP://WWW.KEVIN-YING.COM</title>
<style type="text/css">
<!--
body {
font-size: 12px;
text-align: center;
margin: 0px;
padding: 0px;
}
.pic{
margin:0 auto;
width:31%;
float:left;
padding:0;
overflow:hidden;
margin:1%;
padding-bottom:5px;
}
.pic img{
max-width:90%;
width:expression(document.body.clientWidth>document.getElementById("pic").scrollWidth*9/10? "90%": "auto" );
-moz-box-shadow:5px 5px #ccc;
-webkit-box-shadow:5px 5px #ccc;
box-shadow:5px 5px #ccc;
}
-->
</style>
</head>
<body>
<div class="pic">
<img src="http://pc.duowan.com/uploads/allimg/2011-08/29092S9-6-21409.jpg" alt="被我盗链的图片!"/>
</div>
<div class="pic">
<img src="http://www.9yaocn.com/attachments/201412/05/13/faiojup86.jpg" alt="被我盗链的图片!"/>
</div>
<div class="pic">
<img src="http://www.sj88.com/attachments/bd-aldimg/1205/124/17.jpg" alt="被我盗链的图片!"/>
</div>
<div class="pic">
<img src="http://img5.duitang.com/uploads/item/201408/02/20140802145747_GH8rH.thumb.700_0.jpeg" alt="被我盗链的图片!"/>
</div>
</body>
</html>
复制代码
固定像素:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>css2.0 by:kevin-ying HTTP://WWW.KEVIN-YING.COM</title>
<style type="text/css">
<!--
body {
font-size: 12px;
text-align: center;
margin: 0px;
padding: 0px;
}
#pic{
margin:0 auto;
width:600px;
padding:0;
border:1px solid #333;
}
#pic img{
max-width:600px;
width:expression(document.body.clientWidth > 600? "600px": "auto" );
border:1px dashed #000;
}
-->
</style>
</head>
<body>
<div id="pic">
<img src="http://pc.duowan.com/uploads/allimg/2011-08/29092S9-6-21409.jpg" alt="被我盗链的图片!"/>
</div>
</body>
</html>
复制代码
作者:
kevin-ying
时间:
2015-9-5 02:44
再来一个:
固定高度:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>css2.0 by:kevin-ying HTTP://WWW.KEVIN-YING.COM</title>
<style type="text/css">
<!--
body {
font-size: 12px;
text-align: center;
margin: 0px;
padding: 0px;
}
.pic{
margin:0 auto;
width:31%;
height:220px;
float:left;
padding:0;
overflow:hidden;
margin:1%;
padding-bottom:5px;
}
.pic img{
max-height:90%;
width:expression(document.body.clientWidth>document.getElementById("pic").scrollheight*9/10? "90%": "auto" );
-moz-box-shadow:5px 5px #ccc;
-webkit-box-shadow:5px 5px #ccc;
box-shadow:5px 5px #ccc;
}
-->
</style>
</head>
<body>
<div class="pic">
<img src="http://pc.duowan.com/uploads/allimg/2011-08/29092S9-6-21409.jpg" alt="被我盗链的图片!"/>
</div>
<div class="pic">
<img src="http://www.9yaocn.com/attachments/201412/05/13/faiojup86.jpg" alt="被我盗链的图片!"/>
</div>
<div class="pic">
<img src="http://www.sj88.com/attachments/bd-aldimg/1205/124/17.jpg" alt="被我盗链的图片!"/>
</div>
<div class="pic">
<img src="http://img5.duitang.com/uploads/item/201408/02/20140802145747_GH8rH.thumb.700_0.jpeg" alt="被我盗链的图片!"/>
</div>
<div class="pic">
<img src="http://www.sj88.com/attachments/bd-aldimg/1205/124/17.jpg" alt="被我盗链的图片!"/>
</div>
<div class="pic">
<img src="http://www.9yaocn.com/attachments/201412/05/13/faiojup86.jpg" alt="被我盗链的图片!"/>
</div>
</body>
</html>
复制代码
欢迎光临 源于生活 (http://bbs.vingoo.info/)
Powered by Discuz! X3.1