兼容ie、firefox的图片自动缩放的css跟js代码分享
更新时间:2013年08月12日 12:34:05 作者:
最近编辑反应,图片有时候太大了,如果隐藏了,可能部分内容别人就看不到了,如果手工设置图片大小又太麻烦了,这里就提供一个方法让也没的图片等比例缩放
这个功能主要是解决内容页中的图片过大撑出,导致页面比较难看,就需要这样的代码,需要的朋友可以参考下
需求:图片width<=600px,height<=800。
1、利用max-width,max-height使图片等比例自动缩放
代码:
img{max-width: 600px;max-height: 800px;}
由于ie6不支持css max-width,max-height,所以在ie6中需要利用javascript脚本来控制大小。
2、用javascript脚本来兼容ie6,代码如:
var img_width = img.OffsetWidth;<BR>var img_height = OffsetHeight;
var current_w = (150*img_width)/img_height;
var current_h = (330*img_height)/img_width;
if(img_height>150){
if(img_width>330){
D.css(img,{
width:330 + "px",
height:current_h + "px"
})
}else{
D.css(img,{
width:current_w + "px",
height:150 + "px"
})
}
}else{
if(img_width>330){
D.css(img,{
width:330 + "px",
height:current_h + "px"
})
}else{
D.css(img,{
width:img_width + "px",
height:img_height + "px"
})
}
}
【注1:D.css为KISSY.DOM.css,引用的是kissy类库中的DOM方法】
【注2:用javascript来控制图片的尺寸页面必须要等图片完全加载出来,所以代码要包含在window.onload事件中,如果图片加载速度很慢的话,可能会有一个小缺陷】
所有我们可以结合这两个一起使用。先用css然后后面再加上js。
需求:图片width<=600px,height<=800。
1、利用max-width,max-height使图片等比例自动缩放
代码:
复制代码 代码如下:
img{max-width: 600px;max-height: 800px;}
由于ie6不支持css max-width,max-height,所以在ie6中需要利用javascript脚本来控制大小。
2、用javascript脚本来兼容ie6,代码如:
复制代码 代码如下:
var img_width = img.OffsetWidth;<BR>var img_height = OffsetHeight;
var current_w = (150*img_width)/img_height;
var current_h = (330*img_height)/img_width;
if(img_height>150){
if(img_width>330){
D.css(img,{
width:330 + "px",
height:current_h + "px"
})
}else{
D.css(img,{
width:current_w + "px",
height:150 + "px"
})
}
}else{
if(img_width>330){
D.css(img,{
width:330 + "px",
height:current_h + "px"
})
}else{
D.css(img,{
width:img_width + "px",
height:img_height + "px"
})
}
}
【注1:D.css为KISSY.DOM.css,引用的是kissy类库中的DOM方法】
【注2:用javascript来控制图片的尺寸页面必须要等图片完全加载出来,所以代码要包含在window.onload事件中,如果图片加载速度很慢的话,可能会有一个小缺陷】
所有我们可以结合这两个一起使用。先用css然后后面再加上js。
相关文章
JavaScript出现setTimeout倒计时误差的原因分析
setTimeout 倒计时误差的出现主要与 JavaScript 的事件循环机制和计时器的执行方式有关,本文就来和大家讲讲具体出现的原因以及解决方法,需要的可以参考一下2023-06-06精解window.setTimeout()&window.setInterval()使用方式与参数传递问题!
精解window.setTimeout()&window.setInterval()使用方式与参数传递问题!...2007-11-11
最新评论