如何制作背景尺寸:在IE10中覆盖工作而不修复附件?

时间:2013-07-26 13:56:47

标签: css internet-explorer-10 w3c

我的代码:

html
{
background-image:url('img.png');
background-repeat:no-repeat;
background-position:center top;
background-size:cover;
}

这适用于Firefox和Chrome,但在IE上,图像根本没有拉伸。如果我将背景附件设置为“固定”但这不是我想要的,那么它将起作用。

我看过的每个网站都声称这些属性在IE中完美实现,但它们显然不是。

1 个答案:

答案 0 :(得分:5)

排除CSS背景大小封面

在没有看到其他代码或网站的情况下进行故障排除有点困难,但这里有一些你可以尝试的事情。

  1. 尝试添加背景附件:滚动;而不是留空

  2. 您的文档类型是否正确,或者是否有拼写错误?

  3. HTML标记上是否有其他可能干扰/覆盖背景样式的脚本或样式?

  4. 按F12打开开发人员工具,然后单击HTML标记以查看列出的样式。在关闭网站上的关键元素时切换CSS样式可以帮助您解决问题。 如果您使用的是IE Developer Tools,请检查“文档模式”和/或“浏览器模式”是否设置为较旧的浏览器。 (IE6,IE7和IE8无法识别背景大小:封面,并将以原始大小显示背景 - Can I Use支持表。)

  5. 您的背景是否仅填充浏览器窗口,而不是展开以覆盖文档页面/可滚动区域?尝试添加高度:100%,宽度:100%,边距:0和填充:0到HTML和BODY标记。 (默认 HTML和BODY标签具有不同的样式.HTML大小由浏览器窗口控制,而BODY将环绕内容,无论内容是否小于浏览器窗口,或者扩展过了它。)还尝试将背景切换到BODY或包装标签。

  6. 要帮助排除故障,请仅使用HTML,BODY和包装器标签创建基本测试页(如果使用包装器),并查看是否可以使背景正常运行。这将帮助您缩小错误范围。您的包装也可能需要高度和宽度。根据您的线框(DIV或CSS表格,HTML表格),它可能需要:min-height:100%和min-width:100%,或height:100%和width:100%。
  7. 我创建了一个简单的html页面,其中包含您提供的css,未包含背景附件,并使用<!DOCTYPE html>作为doctype。背景效果很好,完全覆盖了Windows Vista / IE9,Windows 7 / IE10和Windows 8 / IE11中预期的屏幕。

    旁注:Full background Stack Overflow solution for IE7 and IE8