CSS属性实现同比例缩小图片

开发 前端
在CSS网页布局中经常遇到图片处理问题,当然,生成缩略图这个工作如果交给程序来完成,效果会好很多,但是有时出于某种因素,例如服务器不支持GD之类的,难免就要请CSS代劳。

本文向大家描述一下如何使用CSS属性同比例缩小图片,一般情况下如果要把一副大图片按比例缩小到某个尺寸,对于现代浏览器,直接使用max-width和max-height两条CSS属性即可。

符合Web标准!CSS同比例缩小图片

 当然,生成缩略图这个工作如果交给程序来完成,效果会好很多,但是有时出于某种因素,例如服务器不支持GD之类的,难免就要请CSS代劳。

  把一副大图片按比例缩小到某个尺寸,对于现代浏览器,直接使用max-width和max-height两条CSS属性即可。

  对于IE 6.0及以下版本,以上两条CSS属性均不会被理会。之前处理这种事情,我们往往会借助Javascript,然后为图片加上onload事件。例如:

  Example Source Code

  1.   <imgsrcimgsrc="..."alt="..."onload="resizeImage(this)"/>   
  2.   <script type="text/javascript">   
  3.   functionresizeImage(obj){   
  4.   objobj.width=obj.width>50&&obj.width>obj.height?50:auto;   
  5.   objobj.height=obj.height>50?50:auto;   
  6.   }   
  7.   </script> 
  8.  

  这固然能解决问题,但是对以后页面的升级会带来麻烦——随着浏览器对CSS支持的完善,我们迟早会把图片上的onload事件统统去除。该是Expression的Show Time了,既然IE支持通过Expression在CSS中放置一些脚本,而这段脚本又只是提供给IE 6.0及以下版本使用,那么把它写到Expression中再合适不过。

  最终,把一副大图片按比例缩小到50px*50px以内,可以参照以下这段CSS:

  Example Source Code

  1.   .thumbImage{   
  2.   max-width:50px;   
  3.   max-height:50px;   
  4.   }   
  5.   *html.thumbImage{   
  6.   width:expression(this.width>50&&this.width>this.height?50:auto);   
  7.   height:expresion(this.height>50?50:auto);   
  8.   }  
  9.  

  至于图片是如何保持其高宽比例的,这张图片可以解释:


保持高度比例 

【编辑推荐】

  1. Dreamweaver编写CSS必会技巧
  2. 编码过程中灵活使用CSS注释
  3. 14大CSS工具提高网页设计效率
  4. 实现DIV图片居中方法揭秘
  5. 鼠标经过时改变DIV背景颜色的三种途径

 

责任编辑:佚名 来源: 52css.com
相关推荐

2010-09-01 15:28:11

CSSexpression

2010-09-07 14:53:45

Chroma属性CSS

2009-03-10 11:19:32

DIVCSS分页打印

2024-01-29 09:33:48

CSS前端SVG

2010-08-25 15:34:48

CSSoverflow

2011-05-12 11:28:20

按比例缩放

2010-09-07 14:40:10

title属性Alt属性CSS

2011-08-19 17:02:46

iPhone开发

2010-08-23 13:12:10

padding-rig

2010-09-03 12:46:28

CSSexpression

2010-08-25 13:54:29

CSStop

2010-08-26 10:08:50

CSSmargin

2010-08-25 10:21:49

CSSmargin

2010-08-25 13:33:55

CSSpadding

2010-08-25 09:30:56

marginCSS

2010-08-30 12:54:59

CSSmargin

2010-09-06 10:16:21

CSS字体

2010-09-06 10:21:15

CSS 列表

2010-09-03 14:00:29

CSSbackground

2010-08-25 14:26:09

CSSdisplay
点赞
收藏

51CTO技术栈公众号