将全尺寸背景图像添加到 Internet Explorer 8 和 IE7
由于您不能使用通常的方法轻松地将背景放置在您的站点中,您可以在代码中放置图像吗?如果是这样,这个解决方案可能会奏效。我用它来模拟IE8和IE7的全屏背景,效果很好。
将图像放在 html 代码中的 body 标记之后。(根据您的站点结构,您可能可以将其放置在其他位置,但您可能必须添加 z-index。)接下来,此示例中的背景包含在 IE 条件注释中,因此只有 IE8 及以下版本才能看到它。(注意:它在 IE6 中存在问题,但您也许可以让它工作?如果没有,只需调整 Conditional Comment 以仅包括 IE7 和 IE8)。
HTML 代码
<!DOCTYPE html>
<head></head>
<body>
<!--[if lte IE 8]><img src="../path-to-your-image/your-photo.jpg" class="ie87-bg"><![endif]-->
CSS
.ie87-bg {
display:block;
position:fixed;
top:0;
left:0;
min-height:100%;
min-width:1024px;
width:100%;
height:auto;
margin:0;
padding:0;
}
您可能已经知道这一点,但这里有 3 种针对旧版本 IE 的方法:
- JavaScript 浏览器功能检测 - mattstow.com/layout-engine.html
- Css 黑客 - BrowserHacks.com
- IE 条件注释http://msdn.microsoft.com/en-us/library/ms537512%28VS.85%29.aspx
有用的提示:background-image:none;
覆盖background-size: cover
. _hack 是在 IE6 中关闭自定义 IE 背景的一种方法.ie87-bg {_display: none;}
。
position:fixed;
在移动/触摸屏上有问题。默认值position:scroll;
在触摸时效果很好。背景想法来自本教程 - http://css-tricks.com/perfect-full-page-background-image/