因为IE8浏览器这个坑,不支持css3的background-size:cover这个属性,当时有一个很大的图片需要做页面的背景,要适应不同分辨率的电脑,然后就遇到了这个问题
IE8虽然不支持这个属性,但是有一个filter这个属性
个人认为是这样解释:微软Alpha图片加载器
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/bg.jpg',sizingMethod='scale');
enabled
:可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true | false
true:默认值。滤镜激活,false:滤镜被禁止。
sizingMethod
:可选项。字符串(String)。设置或检索滤镜作用的对象的图片在对象 容器边界内的显示方式。
cop
: 剪切图片以适应对象尺寸
image
: 默认值增大或减小对象的尺寸边界以适应图片的尺寸
scale
: 缩放图片以适应对象的尺寸边界
src
: 必选项。字符串(String)。(指定图片的路径。要注意的是这个路径是指加载滤镜的页面相对于图片的路径而不是css文件相对于图片的路径。这跟一般的图片加载有区别。)
上面也有问题,加上这个属性可以把背景图处缩放适应屏幕了,但是出现了两张图片,原来的背景图片没有消失
解决方法:通过css IE8的hack把背景background:none
隐藏了,解决了
上面问题解决了,但又遇到一个坑,项目上传到服务器上背景图片没有了……
解决方法:之前是把filter
里面的src
属性设置到相对图片的路径,现在把src
的路径换成绝对路径就OK了。