首页 > 编程开发 > CSS    日期:2018-08-14 / 来自互联网 / 浏览

IE7、IE8设置max-width后,把高度设为auto,当图片宽度超过设置的最大宽度后,会自动缩小到设置的max-width值,但是高度并没有我们预想的按比例缩小。而在firefox中却可以完美的按比例缩小图片。

IE6更是不支持 max-width 和 max-height,那如何来处理各个浏览器的兼容性问题呢,使之都可以设置图片最大宽度,且高度根据图片的宽度等比例缩小呢?

有些人说了,在CSS中给IE6使用expression不就行了?我可以告诉你expression非常耗资源,不值得用,具体可以参考 是否该使用IE浏览器特有的expression

使用 JavaScript 写个函数直接调用,既方便又高效。除了支持IE6,也支持其它浏览器,如IE7、IE8、火狐等。

程序的大概思路是:首先获取图片所在的父层(如div)ID,然后再循环处理该层的所有图片。如果图片的实际宽度大于传入的宽度(w),则根据传入的宽度(w)计算出图片新的高度(newHeight);如果新的高度(newHeight)小于等于传入的高度(h),则以新高度(newHeight)和传入的宽度(w)作为图片的当前高度和宽度;否则以传入的高度和新计算的宽度作图片的当前高度和宽度。如果图片的实际宽度小于等于传入的宽度(w),也是一样的道理。具体函数如下:

解决IE6图片按比例缩小

调用方法:checkImage(parentNode,width,height)

参数说明:parentNode 表示图片父对象 ID:

width 表示图片的宽度;

height 表示图片的高度。

觉得上面的内容有用吗?快来点个赞吧!

点赞() 我要打赏

温馨提示 : 本站内容来自会员投稿以及互联网,所有源码及教程均为作者总结编辑,请大家在使用过程中提前做好备份,以免发生无法预知的错误,源码类教程请勿直接用于生产环境!

 可能感兴趣的文章

1 2 3 4 5