1. 用后台程序自动生成缩略图
2. 用css调用expression控制图片溢出后的大小;
(http://www.blog.edu.cn/user1/7987/archives/2006/1440861.shtml )
3. 用js写函数控制图片溢出后的大小;

其中后两种都是javascript在起作用,但是工作原理不同,css中调用expression可以解决这个问题,但是解决得不好,因为如果页面中图片一多,expression中的语句会不断被调用,非常耗费客户端内存,容易导致浏览器假死;而直接用javascript,在页面onload的时候就可以轻松解决这个问题,而且只调用一次,比起expression真是好得太多,程序很简单,下面是个简单的例子,我假设这个页面图片宽度不能超过200px,而实际图片宽度是550px:

<body>
<img  id="achome" src="http://image2.sina.com.cn/ent/y/2006-10-09/U1819P28T3D1276435F326DT20061009152013.jpg" />
</body>

<script>
    var imageArr=document.getElementById(controlID);
    var imageRate = imageArr.offsetWidth / imageArr.offsetHeight;   
   
    if(imageArr.offsetWidth > maxWidth)
    {
        imageArr.style.width=maxWidth + "px";
        imageArr.style.Height=maxWidth / imageRate + "px";
    }
   
    if(imageArr.offsetHeight > maxHeight)
    {
        imageArr.style.width = maxHeight * imageRate + "px";
        imageArr.style.Height = maxHeight + "px";
    }

</script>

下面是图片自适应的:
<!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=gb2312"
/>
<title>css2.0 VS ie</title>
<style
type="text/css">
<!--
body {
 font-size: 12px;
 text-align:
center;
 margin: 0px;
 padding: 0px;
}
#pic{
  margin:0
auto;
  width:800px;
  padding:0;
  border:1px solid #333;
 
}
#pic img{
   
max-width:780px;
 width:expression(document.body.clientWidth > 780?
"780px": "auto" );
 border:1px dashed
#000;
 }
-->
</style>
</head>
<body>
<div
id="pic">
<img src="/articleimg/2006/03/3297/koreaad_10020.jpg"
alt="感谢blueidea被我盗链图片!"/>
</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=gb2312"
/>
<title>css2.0 VS ie</title>
<style
type="text/css">
<!--
body {
 font-size: 12px;
 text-align:
center;
 margin: 0px;
 padding: 0px;
}
#pic{
  margin:0
auto;
  width:800px;
  padding:0;
  border:1px solid #333;
 
}
#pic img{
   
max-width:780px;
 width:expression(document.body.clientWidth>document.getElementById("pic").scrollWidth*9/10?
"780px": "auto" );
 border:1px dashed
#000;
 }
-->
</style>
</head>
<body>
<div
id="pic">
<img src="/articleimg/2006/03/3297/koreaad_10020.jpg"
alt="感谢blueidea被我盗链图片!"/>
</div>
</body>
</html>

转载于:https://www.cnblogs.com/cxd4321/p/3284770.html

让图片自适应大小的方法相关推荐

  1. css自适应图片样式,css怎么让图片自适应?css图片自适应大小的方法介绍

    对于一个网页来说,有一张好看又清晰的背景图片是非常吸引人的,但是并不是每张图片都是有相同的大小,所以就需要晒西安图片的自适应,那么,css怎么让图片自适应呢?本篇文章将来介绍关于css图片自适应大小的 ...

  2. 背景图片自适应大小的方法

    <!DOCTYPE html> <html> <head> <title></title> <meta charset="u ...

  3. python 修改图片尺寸_Python实现更改图片尺寸大小的方法(基于Pillow包)

    本文实例讲述了Python实现更改图片尺寸大小的方法.分享给大家供大家参考,具体如下: 1.PIL包推荐Pillow. 2.源码: #encoding=utf-8 #author: walker #d ...

  4. 手机图片压缩大小的方法,用什么软件压缩

    手机图片怎么压缩大小,现在很多的手机拍出来的图片文件都在几兆,这样的图片文件是不能够上传到一些网站中的,今天小编就为大家介绍一下手机图片压缩大小的方法以及压缩软件的使用方法. 使用软件:迅捷压缩软件 ...

  5. html 中图片自适应大小设置

    一.图片自适应大小 图片设置固定大小(当然width和height至少大于200px的情况下)个人觉得就很影响响应式布局了,可能会使移动端局部发生错乱,所以图片在一个div中自适应大小,个人还是觉得挺 ...

  6. css怎么设置背景图片自适应大小

    在css中,可以利用"background-size"属性设置背景图片自适应大小,该属性用于设置背景图片的大小,只需要给背景图片元素添加"background-size: ...

  7. ReactNative之Image组件自适应高度,图片自适应大小

    因为在现在0.50包括之前的ReactNative版本,Image组件必须要设置宽高才能显示.所以在图片宽高不确定的情况下,如何来让图片自适应 屏幕高度呢? 需求原因:因为做商城详情页面的图片长短不一 ...

  8. 图片太大上传不了怎么缩小?jpg图片压缩大小的方法

    自媒体平台上传jpg图片通常都会有大小限制,为了可以正常使用,我们需要把过大的jpg格式图片压缩变小.想要实现压缩jpg图片的方法有很多,今天就介绍一种比较简单的,利用在线jpg压缩(在线jpg压缩免 ...

  9. 微信小程序富文本标签 rich-text 图片自适应大小问题

    最近项目新加了一个需求,由于时间比较充足的原因.我完成的很出色,但是无奈测试最后不走寻常路.几句话的说明他加了好多文字还搞了图片,甚至还有了一句经典的名言如果没有 BUG 她就没有工作,叫人苦不堪言. ...

最新文章

  1. 离职交接文档_如何写好离职工作交接文档?
  2. 4月25日日志(4.25)
  3. seaborn系列 (17) | 回归模型图lmplot()
  4. 没有找到borlandmm.dll 报错的解决方法
  5. Matlab:成功解决Function definition are not permitted at the prompt or scripts
  6. MYSQL:Error Code: 1786 Statement violates GTID consistency: CREATE TABLE ... SELECT.
  7. Scala Hello 示例
  8. 《C语言及程序设计》实践参考——找数字
  9. 苹果被拒:4.Guideline 2.3.3 - Performance - Accurate Metadata
  10. 制作_dem格式的dem数据
  11. fgo最新服务器,FGO服务器故障追加说明 凌晨3点已开服
  12. QT Buttons系列 中 clicked(bool checked)的使用
  13. 剑指offer-20200226
  14. a8处理器相当于骁龙几_ 联发科发布新款中端处理器,能否与高通骁龙765G一战?...
  15. 计算个人所得税(老版)
  16. 【超全】一文详解机器学习特征工程(附代码)
  17. 芯片程序烧录的熔断机制与安全
  18. 前端知识解构脑图(一张)和工具
  19. 顺丰慢其实只是主观感觉,真正原因是以下几个方面
  20. 如何解决win10应用商店打不开——错误码0x80131500

热门文章

  1. keytool 错误:java.to.FileNotFoundException:
  2. 设置路由器端口转发功能如何操作
  3. 在2012年安装XCODE旧版本的错误解决方法
  4. DNN 4.x CodeSmith模板
  5. cannot write file to virtual machine aborting the file copy operation.
  6. android 如何拖动控件的实现
  7. View-屏幕坐标 Content-网页(内容)坐标 mScrollX和mScrollY-屏幕坐标偏移
  8. Java基础—8大数据类型
  9. Java基础—序列化关键字transient
  10. sonarqube执行命令遇上的小问题