1

我一直在努力让 HTML5 标签在 IE7 和 IE8 上工作。最后我使用了 html5shiv.js 并且问题解决了。元素显示在屏幕上,就像它们显示在任何现代浏览器上一样。

但是现在,我不知道为什么 IE7 和 IE8 不会应用我声明的 css 规则。例如:

header
{
    background-color: #000000;
}

不将黑色背景颜色应用于标题标签或任何背景颜色。当我在 IE7 和 IE8 上搜索该声明时,它似乎未声明,但是当我在 IE9 模式下尝试 IE 时,我声明的相同 css 规则会出现并使用黑色背景颜色设置元素的样式。任何帮助或解决方案将不胜感激。

4

4 回答 4

1

希望这对你有帮助,

所有浏览器都能正确呈现 HTML5 标记 - 甚至 IE6:

http://net.tutsplus.com/tutorials/html-css-techniques/how-to-make-all-browsers-render-html5-mark-up-correctly-even-ie6/

谢谢。

于 2012-12-22T05:49:24.340 回答
1

无法重现。使用http://browserstack.com,我在 Windows XP 上本机运行的 IE7 和 IE8 中测试了以下代码,它们都按预期正确应用了 CSS:

我只能怀疑你在某个地方错过了一些东西,因此没有得到你期望的结果。尝试将您的项目缩减为一个小型测试用例,就像我在这里所做的那样。确保您已经引用了所有适当的依赖项。

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>HTML5 Elements in IE7/8</title>
        <!--[if lt IE 9]>
            <script src="html5shiv.js"></script>
        <![endif]-->
        <style type="text/css">
            header {
                background-color: #000000;
                color: #FFFFFF;
            }
        </style>
    </head>
    <body>
        <header>Hello, world!</header>
    </body>
</html>

截屏:

在此处输入图像描述

于 2012-12-21T23:47:02.137 回答
0

当你想用一种跨浏览器的方式来设置这些元素的样式同时仍然保留它们的语义含义时,你可以将它们中的每一个包装在一个 div 中,并将 CSS 作为一个类应用于该 div。大多数语义标记的用例无论如何都不需要样式——它们的主要目的是将这些信息传递给通过 CSS 样式传递给人类的机器。

于 2012-12-21T23:52:55.087 回答
-1

好吧,您必须检查标题区域,例如

如果您之前添加了一些评论

<!DOCTYPE html> 

然后您也会遇到诸如缺少css类或属性之类的问题

于 2013-01-05T23:29:35.197 回答