css中的background-size属性在各版本的浏览器的兼容性,从w3c的网站中可见
该属性在ie9之下并不支持,为了使用该属性,可以css样式中加入以下过滤器
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(
src='图片地址',
sizingMethod='scale');
Microsoft.AlphaImageLoader是IE提供的一种滤镜,其主要作用就是对图片进行透明处理
语法:
filter : progid:DXImageTransform.Microsoft.AlphaImageLoader ( enabled=bEnabled , sizingMethod=sSize , src=sURL )
属性:
enabled | : | 可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true | false
| |||||||||
sizingMethod | : | 可选项。字符串(String)。设置或检索滤镜作用的对象的图片在对象容器边界内的显示方式。
| |||||||||
src | : | 必选项。字符串(String)。使用绝对或相对 url 地址指定背景图像。假如忽略此参数,滤镜将不会作用。 |
特性:
Enabled | : | 可读写。布尔值(Boolean)。参阅 enabled 属性。 |
sizingMethod | : | 可读写。字符串(String)。参阅 sizingMethod 属性。 |
src | : | 可读写。字符串(String)。参阅 src 属性。 |
该filter不仅可以进行透明度处理,还可以处理图片的显示大小,比如当你使用background-size:cover,想让图片尽可能大的显示,则可以使用该filter实现,方法同上
注:在IE8和IE8之下的版本中,该filter可能会造成a标签的点击事件失效,并不是因为a标签点击事件失效,而是因为被一个层挡住了,AlphaImageLoader会改变层级关系,处理方法一般为在a标签的css属性中加上position:relative,还有一种更加优秀的解决办法就是给a链接添加一个空的背景图或者透明的背景图