如果不想要滚动条,可以OVERFLOW: HIDDEN;
在body&html中添加,也可以确保body的内容是绝对定位的,从而使body不继承高度。
html, body {
margin: 0px;
padding: 0px;
border: 0px;
height:100%;
width:100%
overflow: hidden;
}
你不能在 IE8 中使用 background-size 因为它不受支持,CSS3PIE支持它,但它仍然是一个 javascript 解决方案,所以我会坚持使用 javascript 的一些简单的东西。
在 css 中,这是我们最初必须做的,这可能只适用于带有过滤器的 IE8,但是可以肯定的是,我会坚持使用 javascript。
html {
background: url(images/bg.jpg) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.myBackground.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='myBackground.jpg', sizingMethod='scale')";
}
这是一个有效的解决方案。
HTML:
<img src="images/bg.jpg" id="bg" alt="">
CSS
#bg { position: fixed; top: 0; left: 0; }
.bgwidth { width: 100%; }
.bgheight { height: 100%; }
JAVASCRIPT:
$(window).load(function() {
var theWindow = $(window),
$bg = $("#bg"),
aspectRatio = $bg.width() / $bg.height();
function resizeBg() {
if ( (theWindow.width() / theWindow.height()) < aspectRatio ) {
$bg.removeClass().addClass('bgheight');
} else {
$bg.removeClass().addClass('bgwidth');
}
}
theWindow.resize(resizeBg).trigger("resize");
});
演示:http: //jsfiddle.net/DUEsh/
在 IE7+ 中工作(可能在 IE6 中使用固定位置 shim)