控制缩略图常见的是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);)

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <style type="text/css">
  5. a img {
  6. border: 0;
  7. }
  8.  
  9. .imgthumblist {
  10. margin: 0 3px;
  11. padding: 0;
  12. list-style: none;
  13. }
  14.  
  15. .imgthumblist li {
  16. float: left;
  17. display: inline;
  18. text-align: center;
  19. background: #F0F9FF;
  20. width: 108px;
  21. height: 163px;
  22. width: 100px;
  23. height: 155px;
  24. overflow: hidden;
  25. border: 1px solid #B9D0ED;
  26. padding: 3px;
  27. margin: 3px;
  28. }
  29.  
  30. .imgthumblist li.list1line {
  31. height: 123px;
  32. height: 115px;
  33. }
  34.  
  35. .imgthumblist li.list2line {
  36. height: 143px;
  37. height: 135px;
  38. }
  39.  
  40. .contentL .imgthumblist li {
  41. margin: 0 1px 3px;
  42. }
  43.  
  44. .imgthumblist p {
  45. margin: 0;
  46. line-height: 18px;
  47. font-size: 12px;
  48. }
  49.  
  50. .imgthumblist div {
  51. line-height: 90px;
  52. font-size: 90px;
  53. height: 100px;
  54. display: table;
  55. }
  56.  
  57. .imgthumblist div a {
  58. display: table-cell !important;
  59. display: block;
  60. width: 100px;
  61. vertical-align: middle;
  62. }
  63.  
  64. .imgthumblist div img {
  65. vertical-align: middle;
  66. max-width: 100px;
  67. max-height: 100px;
  68. width: expression(this.width >100 && this.height < this.width ? 100: true);
  69. height: expression(this.height > 100 ? 100: true);
  70. font-size: 10px;
  71. }
  72.  
  73. @media all and (min-width: 0px) {
  74. .imgthumblist div img {
  75. width: 100px;
  76. height: 100px;
  77. }
  78. }
  79. /*for Opera Only*/
  80. </style>
  81. </head>
  82. <body>
  83. <div>
  84. <ul class="imgthumblist">
  85. <li class="list2line">
  86. <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>
  87. <p><a href="http://www.liaozhenxin.com/blog/article.asp?id=155">图片名称</a></p>
  88. <p class="smalltxt">图片数:1</p>
  89. </li>
  90. <li class="list2line">
  91. <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>
  92. <p><a href="http://www.liaozhenxin.com/blog/article.asp?id=155">图片名称</a></p>
  93. <p class="smalltxt">图片数:3</p>
  94. </li>
  95. <li class="list2line">
  96. <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>
  97. <p><a href="http://www.liaozhenxin.com/blog/article.asp?id=155">图片名称</a></p>
  98. <p class="smalltxt">图片数:4</p>
  99. </li>
  100. </ul>
  101. </div>
  102. </body>
  103. </html>

html

二、JS方法
我就不说了代码写的很清楚

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <script type="text/javascript">
  5. //改变透明度参数:图片对象,透明度:1-100的值
  6. function setAlpha(imgObj, opacityValue) {
  7. imgObj.filters.alpha.opacity = parseInt(opacityValue);
  8. }
  9.  
  10. //图片的显示大小[以宽度来限制]
  11. function DrawImageW(imgObj, widthValue) {
  12. var image = new Image();
  13. image.src = imgObj.src;
  14. if (image.width > 0 && image.height > 0) {
  15. if (image.width >= widthValue) {
  16. imgObj.width = widthValue;
  17. imgObj.height = (image.height * widthValue) / image.width;
  18. } else {
  19. imgObj.width = image.width;
  20. imgObj.height = image.height;
  21. }
  22. }
  23. }
  24.  
  25. //图片的显示大小[以高度来限制]
  26. function DrawImageH(imgObj, heightValue) {
  27. var image = new Image();
  28. image.src = imgObj.src;
  29. if (image.width > 0 && image.height > 0) {
  30. if (image.height >= heightValue) {
  31. imgObj.height = heightValue;
  32. imgObj.width = (image.width * heightValue) / image.height;
  33. } else {
  34. imgObj.width = image.width;
  35. imgObj.height = image.height;
  36. }
  37. }
  38. }
  39. //图片的显示大小[宽高同时限制]
  40. function DrawImage(imgObj, widthValue, heightValue) {
  41. var image = new Image();
  42. image.src = imgObj.src;
  43. if (image.width > 0 && image.height > 0) {
  44. if (image.height > heightValue || image.width > widthValue) {
  45. var h = 0, w, wflg = false;
  46. if (image.height > heightValue)
  47. wflg = true;
  48. if (wflg) {
  49. w = widthValue;
  50. h = (image.height * widthValue) / image.width;
  51. }
  52. if (h == 0 || h > heightValue) {
  53. h = heightValue;
  54. w = (image.width * heightValue) / image.height;
  55. }
  56. //alert(w)
  57. //alert(h)
  58. imgObj.width = w;
  59. imgObj.height = h;
  60. } else {
  61. imgObj.width = image.width;
  62. imgObj.height = image.height;
  63. }
  64. }
  65. }
  66.  
  67. function zoomImg(imgObj) {
  68. var zoom = parseInt(imgObj.style.zoom, 10) || 100; zoom += event.wheelDelta / 12; if (zoom > 0) imgObj.style.zoom = zoom + '%';
  69. return false;
  70. }
  71.  
  72. </script>
  73. </head>
  74. <body>
  75. <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="修改透明度" />
  76.  
  77. <img src="http://www.liaozhenxin.com/blog/attachments/month_0612/3200612221928.jpg" onload="javascript:DrawImageW(this,100)" title="宽在100以内" />
  78.  
  79. <img src="http://www.liaozhenxin.com/blog/attachments/month_0612/3200612221928.jpg" onload="javascript:DrawImageH(this,100)" title="高在100以内" />
  80.  
  81. <img src="http://www.liaozhenxin.com/blog/attachments/month_0612/3200612221928.jpg" onload="javascript:DrawImage(this,100,100)" title="宽高在100以内" /><br />
  82.  
  83. <img src="http://www.liaozhenxin.com/blog/attachments/month_0612/p20061222185348.jpg" onload="javascript:DrawImageW(this,100)" title="宽在100以内" />
  84.  
  85. <img src="http://www.liaozhenxin.com/blog/attachments/month_0612/p20061222185348.jpg" onload="javascript:DrawImageH(this,100)" title="高在100以内" />
  86.  
  87. <img src="http://www.liaozhenxin.com/blog/attachments/month_0612/p20061222185348.jpg" onload="javascript:DrawImage(this,100,100)" title="宽高在100以内" /><br />
  88.  
  89. <img src="http://www.liaozhenxin.com/blog/attachments/month_0612/v2006122219452.jpg" onload="javascript:DrawImageW(this,100)" title="宽在100以内" />
  90.  
  91. <img src="http://www.liaozhenxin.com/blog/attachments/month_0612/v2006122219452.jpg" onload="javascript:DrawImageW(this,100)" title="高在100以内" />
  92.  
  93. <img src="http://www.liaozhenxin.com/blog/attachments/month_0612/v2006122219452.jpg" onload="javascript:DrawImage(this,100,100)" onmousewheel="return zoomImg(this)" title="放大缩小" />
  94. </body>
  95. </html>

javascript

来自:http://www.cnblogs.com/MaxIE/archive/2007/01/30/634579.html

img图片自适应宽和高[转]的更多相关文章

  1. Android中获取图片的宽和高

    在Android中,我们想获取图片的宽和高应该怎么办?一.正常加载图片的方法下获取宽和高 举一个简单的例子:创建一个图片的副本 //加载原图 Bitmap bmSrc = BitmapFactory. ...

  2. js和php计算图片自适应宽高算法实现

    js Code: <script> $width = $(imgobj).width(); //图原始宽 $newheight = $(imgobj).height(); //图原始高 $ ...

  3. css 图片等宽等高

    html <div class="autoimg"> <img src="xxx.jpg" /> </div> css .a ...

  4. requests获取图片的宽和高

    try: if cover: resp = requests.get('%s?x-oss-process=image/info' % (url), timeout=30) if resp.status ...

  5. iview Carousel 轮播图自适应宽高;iview 轮播图 图片重叠问题;iview tabs 高度互相影响问题;vue this问题;

    最终效果图: 一.轮播图中图片自适应宽高:  <Carousel loop v-bind:height="imgHeight+'px'" v-model="caro ...

  6. elementui 走马灯图片自适应

    点击单元格后弹出对话框轮播图片,用Carousel 走马灯实现. 希望图片无论分辨率多少,都能在一屏内显示,这时就要用图片自适应. 图片外层容器,使用 flex 布局,设置对齐方式为主轴.交叉轴居中 ...

  7. C# 上传图片前判断上传图片的宽和高

    网上找了好久没有找到... 最后百度到了这句话“由上传的HttpPostFile的InputStream创建一个Image对象,然后想怎么处置就随便你了”. HTML代码: <asp:FileU ...

  8. JS获取图片实际宽高及根据图片大小进行自适应

    JS获取图片实际宽高,以及根据图片大小进行自适应  <img src="http://xxx.jpg" id="imgs" onload="ad ...

  9. JS获取图片实际宽高

    JS获取图片实际宽高,以及根据图片大小进行自适应 <img src="http://xxx.jpg" id="imgs" onload="ada ...

随机推荐

  1. 初识Tomcat

    Tomcat的安装非常简单,解压即可! Tomcat要正常运行,需要配置一个环境变量JAVA_HOME,指向jdk的主目录.

  2. HttpWebRequest的使用

    HttpWebRequest类主要利用HTTP 协议和服务器交互,通常是通过 GET 和 POST 两种方式来对数据进行获取和提交.下面对这两种方式进行一下说明: GET 方式 GET 方式通过在网络 ...

  3. MongoDB学习笔记(三)--权限 && 导出导入备份恢复 && fsync和锁

    权限                                                                                             绑定内网I ...

  4. word 文档如何加密

    给Word文档加密主要有以下几个方法:文件加密文件菜单设置:1.打开需要加密的Word文档.2.选“文件”的“另存为”,出现“另存为”对话框,在“工具”中选“常规选项”,出现“保存”选项卡.3.分别在 ...

  5. KETTLE6.0版本体验小结

    不知不觉Kettle以及到了6.0,名字似乎也变了Pentaho官方的名称是 Pentaho  Data Integration,于是就下载了最新的版本,下载地址为: Pentaho Data Int ...

  6. matlab使用常犯的错误

    总是在最后关掉的时候忘了保存工作空间 save... 我用的版本R2013a 每次要setpath...!!!!!!!!!!

  7. [Javascipt] Immediately-Invoker 2

    Now the people at Poplar Puzzles would like you to treat an array of functions like a Queue, passing ...

  8. (剑指Offer)面试题1:赋值运算符函数

    题目: 如下为类型CMyString的声明,请为该类型添加赋值运算符函数. class CMyString{public:    CMyString(char* pData=NULL);    CMy ...

  9. Xcode插件,模板安装

    一:是使用工具安装 A Package Manager for Xcode -Xcode模板管理工具Alcatraz使用 二:手动安装 1:打开资源库: 打开Finder---按住alt----前往- ...

  10. [置顶] Zend Optimizer 和 Zend Debugger 同时安装

    下载地址: Zend Optimizer:  http://download.csdn.net/detail/wf120355/6479947 Zend Debugger: http://downlo ...