IE8 及以下版本根本不支持background-size
,因此您要么必须使用自 IE5.5 起就支持的AlphaImageLoader 过滤器:
.arrow-big-right {
display: block;
width: 42px;
height: 48px;
margin-bottom: 1.8em;
background-image: url(arrow-big-right.png);
background-repeat: no-repeat;
background-size: 42px 48px;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader( src='arrow-big-right.png', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader( src='arrow-big-right.png', sizingMethod='scale')";
}
或者使用某种通过 CSS 定位 IE 版本的方法,为 IE8 及以下用户的背景应用替代方案。
同样值得注意的是,正如马特麦克唐纳所指出的,由于使用这种技术,您可能会看到两张图像。这是由于 IE 过滤器在标准背景图像之外添加了背景图像,而不是替换标准背景图像。要解决此问题,请使用您喜欢的方法(这是我个人最喜欢的方法)通过 css 定位 IE ,并删除background-image
IE8 及以下版本的标准。
使用 Paul Irish博客文章中的第一种技术来执行此操作,您可以使用以下内容:
.arrow-big-right {
display: block;
width: 42px;
height: 48px;
margin-bottom: 1.8em;
background-image: url(arrow-big-right.png);
background-repeat: no-repeat;
background-size: 42px 48px;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader( src='arrow-big-right.png', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader( src='arrow-big-right.png', sizingMethod='scale')";
}
.ie6 .arrow-big-right,
.ie7 .arrow-big-right,
.ie8 .arrow-big-right {
background-image: none;
}