缩略图自适应宽和高

控制缩略图常见的是JS来控制,还有就是最直接的方法定义img的宽高;
下面两种方法自适应宽和高,zhenzhai推荐使用CSS方法;
一、CSS方法;
主要是在CSS设置最小值和最大值(max-width: 100px; max-height: 100px; width: expression(this.width >100 && this.height < this.width ? 100: true); height: expression(this.height > 100 ? 100: true);)
None.gif<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
None.gif
<html xmlns="http://www.w3.org/1999/xhtml">
None.gif
<style type="text/css">
None.gif
ExpandedBlockStart.gifContractedBlock.gifa img
dot.gif{border:0;}
ExpandedBlockStart.gifContractedBlock.gif.imgthumblist 
dot.gif{ margin: 0 3px; padding: 0; list-style: none; }
ExpandedBlockStart.gifContractedBlock.gif    
/**//*\*/ * html .imgthumblist dot.gif{ height: 1%; }/**//**/ *>.imgthumblist dot.gif{ overflow: hidden; }
ExpandedBlockStart.gifContractedBlock.gif        .imgthumblist li 
dot.giffloat: left; display: inline; text-align: center; background: #F0F9FF; width: 108px; height: 163px; w\idth: 100px; he\ight: 155px; overflow: hidden; border: 1px solid #B9D0ED; padding: 3px; margin: 3px; }
ExpandedBlockStart.gifContractedBlock.gif            .imgthumblist li.list1line 
dot.gif{ height: 123px; he\ight: 115px; }
ExpandedBlockStart.gifContractedBlock.gif            .imgthumblist li.list2line 
dot.gif{ height: 143px; he\ight: 135px; }
ExpandedBlockStart.gifContractedBlock.gif                .contentL .imgthumblist li 
dot.gif{ margin: 0 1px 3px; }
ExpandedBlockStart.gifContractedBlock.gif            .imgthumblist p 
dot.gif{ margin: 0; line-height: 18px; font-size:12px}
None.gif
ExpandedBlockStart.gifContractedBlock.gif            .imgthumblist div 
dot.gif{ line-height: 90px; font-size: 90px; height: 100px; display: table; }
ExpandedBlockStart.gifContractedBlock.gif                .imgthumblist div a 
dot.gif{ display: table-cell !important; display: block; width: 100px; vertical-align: middle; }
ExpandedBlockStart.gifContractedBlock.gif                    .imgthumblist div img 
dot.gif{ vertical-align: middle; max-width: 100px; max-height: 100px; width: expression(this.width >100 && this.height < this.width ? 100true); height: expression(this.height > 100 ? 100true); font-size: 10px; }
ExpandedBlockStart.gifContractedBlock.gif                    @media all and (min
-width: 0px)dot.gif{ .imgthumblist div img dot.gif{ width: 100px; height: 100px; } } /**//*for Opera Only*/
None.gif
</style>
None.gif
<div><ul class="imgthumblist">
None.gif
<li class="list2line">
None.gif
<div><a href="http://www.liaozhenxin.com/blog/article.asp?id=155" title="图片名称"><img src="http://www.liaozhenxin.com/blog/attachments/month_0612/3200612221928.jpg" alt="图片名称"/></a></div>
None.gif
<p><a href="http://www.liaozhenxin.com/blog/article.asp?id=155">图片名称</a></p>
None.gif
<p class="smalltxt">图片数:1</p>
None.gif
</li>
None.gif
<li class="list2line">
None.gif
<div><a href="http://www.liaozhenxin.com/blog/article.asp?id=155" title="图片名称"><img src="http://www.liaozhenxin.com/blog/attachments/month_0612/p20061222185348.jpg" alt="图片名称" /></a></div>
None.gif
<p><a href="http://www.liaozhenxin.com/blog/article.asp?id=155">图片名称</a></p>
None.gif
<p class="smalltxt">图片数:3</p>
None.gif
</li>
None.gif
<li class="list2line">
None.gif
<div><a href="http://www.liaozhenxin.com/blog/article.asp?id=155" title="图片名称"><img src="http://www.liaozhenxin.com/blog/attachments/month_0612/v2006122219452.jpg" alt="特别的爱给特" /></a></div>
None.gif
<p><a href="http://www.liaozhenxin.com/blog/article.asp?id=155">图片名称</a></p>
None.gif
<p class="smalltxt">图片数:4</p>
None.gif
</li>
None.gif
</ul>
None.gif
</div>
二、JS方法
我就不说了代码写的很清楚
None.gif<script type="text/javascript">
None.gif
None.gif
//改变透明度参数:图片对象,透明度:1-100的值
ExpandedBlockStart.gifContractedBlock.gif
function setAlpha(imgObj,opacityValue)dot.gif{
InBlock.gif    imgObj.filters.alpha.opacity
=parseInt(opacityValue);
ExpandedBlockEnd.gif    }

None.gif    
None.gif
//图片的显示大小[以宽度来限制]
ExpandedBlockStart.gifContractedBlock.gif
function DrawImageW(imgObj,widthValue)dot.gif
InBlock.gif    
var image=new Image(); 
InBlock.gif    image.src
=imgObj.src; 
ExpandedSubBlockStart.gifContractedSubBlock.gif    
if(image.width>0 && image.height>0)dot.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif        
if(image.width>=widthValue)dot.gif
InBlock.gif            imgObj.width
=widthValue; 
InBlock.gif            imgObj.height
=(image.height*widthValue)/image.width; 
ExpandedSubBlockStart.gifContractedSubBlock.gif        }
elsedot.gif
InBlock.gif            imgObj.width
=image.width; 
InBlock.gif            imgObj.height
=image.height; 
ExpandedSubBlockEnd.gif        }
  
ExpandedSubBlockEnd.gif    }
 
ExpandedBlockEnd.gif}
 
None.gif
None.gif
//图片的显示大小[以高度来限制]
ExpandedBlockStart.gifContractedBlock.gif
function DrawImageH(imgObj,heightValue)dot.gif
InBlock.gif    
var image=new Image(); 
InBlock.gif    image.src
=imgObj.src; 
ExpandedSubBlockStart.gifContractedSubBlock.gif    
if(image.width>0 && image.height>0)dot.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif        
if(image.height>=heightValue)dot.gif
InBlock.gif            imgObj.height
=heightValue; 
InBlock.gif            imgObj.width
=(image.width*heightValue)/image.height; 
ExpandedSubBlockStart.gifContractedSubBlock.gif        }
elsedot.gif
InBlock.gif            imgObj.width
=image.width; 
InBlock.gif            imgObj.height
=image.height; 
ExpandedSubBlockEnd.gif        }
  
ExpandedSubBlockEnd.gif    }
 
ExpandedBlockEnd.gif}
 
None.gif
//图片的显示大小[宽高同时限制]
ExpandedBlockStart.gifContractedBlock.gif
function DrawImage(imgObj,widthValue,heightValue)dot.gif
InBlock.gif    
var image=new Image(); 
InBlock.gif    image.src
=imgObj.src;
ExpandedSubBlockStart.gifContractedSubBlock.gif    
if(image.width>0 && image.height>0)dot.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif        
if(image.height>heightValue||image.width>widthValue)dot.gif{
InBlock.gif            
var h=0,w,wflg=false;
InBlock.gif            
if(image.height>heightValue)
InBlock.gif                wflg
=true;
ExpandedSubBlockStart.gifContractedSubBlock.gif            
if(wflg)dot.gif{
InBlock.gif                w
=widthValue; 
InBlock.gif                h
=(image.height*widthValue)/image.width; 
ExpandedSubBlockEnd.gif                }

ExpandedSubBlockStart.gifContractedSubBlock.gif            
if(h==0||h>heightValue)dot.gif{
InBlock.gif                h
=heightValue; 
InBlock.gif                w
=(image.width*heightValue)/image.height; 
ExpandedSubBlockEnd.gif                }

InBlock.gif                
//alert(w)
InBlock.gif
                //alert(h)
InBlock.gif
                imgObj.width=w; 
InBlock.gif                imgObj.height
=h; 
ExpandedSubBlockStart.gifContractedSubBlock.gif        }
elsedot.gif
InBlock.gif            imgObj.width
=image.width; 
InBlock.gif            imgObj.height
=image.height; 
ExpandedSubBlockEnd.gif        }
  
ExpandedSubBlockEnd.gif    }
 
ExpandedBlockEnd.gif}
 
None.gif
ExpandedBlockStart.gifContractedBlock.gif
function zoomImg(imgObj)dot.gif{
InBlock.gif    
var zoom=parseInt(imgObj.style.zoom, 10)||100;zoom+=event.wheelDelta/12;if (zoom>0) imgObj.style.zoom=zoom+'%';
InBlock.gif    
return false;
ExpandedBlockEnd.gif}

None.gif
None.gif
</script>
None.gif
<img src="http://www.liaozhenxin.com/blog/attachments/month_0612/3200612221928.jpg" onload="javascript:DrawImageW(this,100);" style="filter:alpha(opacity=60)" onMouseOver="setAlpha(this,100)" onMouseOut="setAlpha(this,60)" title="修改透明度">
None.gif
None.gif
<img src="http://www.liaozhenxin.com/blog/attachments/month_0612/3200612221928.jpg" onload="javascript:DrawImageW(this,100)" title="宽在100以内">
None.gif
None.gif
<img src="http://www.liaozhenxin.com/blog/attachments/month_0612/3200612221928.jpg" onload="javascript:DrawImageH(this,100)" title="高在100以内">
None.gif
None.gif
<img src="http://www.liaozhenxin.com/blog/attachments/month_0612/3200612221928.jpg" onload="javascript:DrawImage(this,100,100)" title="宽高在100以内"><br>
None.gif
None.gif
<img src="http://www.liaozhenxin.com/blog/attachments/month_0612/p20061222185348.jpg" onload="javascript:DrawImageW(this,100)" title="宽在100以内">
None.gif
None.gif
<img src="http://www.liaozhenxin.com/blog/attachments/month_0612/p20061222185348.jpg" onload="javascript:DrawImageH(this,100)" title="高在100以内">
None.gif
None.gif
<img src="http://www.liaozhenxin.com/blog/attachments/month_0612/p20061222185348.jpg" onload="javascript:DrawImage(this,100,100)" title="宽高在100以内"><br>
None.gif
None.gif
<img src="http://www.liaozhenxin.com/blog/attachments/month_0612/v2006122219452.jpg" onload="javascript:DrawImageW(this,100)" title="宽在100以内">
None.gif
None.gif
<img src="http://www.liaozhenxin.com/blog/attachments/month_0612/v2006122219452.jpg" onload="javascript:DrawImageW(this,100)" title="高在100以内">
None.gif
None.gif
<img src="http://www.liaozhenxin.com/blog/attachments/month_0612/v2006122219452.jpg" onload="javascript:DrawImage(this,100,100)" onmousewheel="return zoomImg(this)" title="放大缩小">

转载于:https://www.cnblogs.com/MaxIE/archive/2007/01/30/634579.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值