background-size: cover;
可以通过滤镜filter来兼容IE8,实现相似的效果。
-ms-filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='图片地址',sizingMethod='scale')";
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='图片地址',sizingMethod='scale');
其中的图片地址最好使用绝对地址。
以下是参考文档中所说的内容:
If you want opacity to work in all versions of IE, the order should be as follows:
.opaque {
/* Theoretically for IE 8 & 9 (more valid) */
/* ...but not required as filter works too */
/* should come BEFORE filter */
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; // IE8
/* This works in IE 8 & 9 too */
/* ... but also 5, 6, 7 */
filter: alpha(opacity=50); // IE 5-7
/* Modern Browsers */
opacity: 0.5;
}
If you don’t use this order, IE8-as-IE7 doesn’t apply the opacity, although IE8 and a pure IE7 do.
也就是说需要按照 -ms-filter -> filter -> opacity
这样的顺序来写,这样才能保证在 IE8 以及 IE7 中都能实现效果。