css3 background-size:cover IE8不支持 解决办法

因为IE8浏览器这个坑,不支持css3的background-size:cover这个属性,当时有一个很大的图片需要做页面的背景,要适应不同分辨率的电脑,然后就遇到了这个问题

IE8虽然不支持这个属性,但是有一个filter​这个属性

个人认为是这样解释:微软Alpha图片加载器​

filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='img/bg.jpg',sizingMethod='scale');

src :必选项。字符串(String)。(指定图片的路径。要注意的是这个路径是指加载滤镜的页面相对于图片的路径而不是css文件相对于图片的路径。这跟一般的图片加载有区别。)

sizingMethod :可选项。字符串(String)。设置或检索滤镜作用的对象的图片在对象容器边界内的显示方式。

                 cop :     剪切图片以适应对象尺寸

                 image:  默认值增大或减小对象的尺寸边界以适应图片的尺寸

                 scale :   缩放图片以适应对象的尺寸边界

enabled :可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true | false

                 true:默认值。滤镜激活,false:滤镜被禁止。

上面也有问题,加上这个属性可以把背景图处缩放适应屏幕了,但是出现了两张图片,原来的背景图片没有消失

解决方法:通过css IE8的hack把背景background:none\9 (\9代表IE8以及IE8以下)隐藏了,解决了​ ,但是IE9还是会有两张图片

上面问题解决了,但又遇到一个坑,项目上传到服务器上背景图片没有了......

解决方法:之前是把filter里面的src属性设置到相对图片的路径,现在把src 的路径换成绝对路径就OK了。

另外IE8以及更早的版本不支持opacity属性,也可以使用filter属性替代。例如:filter:Alpha(opacity=50)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值