background-size:cover IE8

因为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了。​

    原文作者:天之殤逝
    原文地址: https://segmentfault.com/a/1190000010400872
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞