IE7& IE8不会将CSS应用于HTML5

时间:2012-12-21 23:28:28

标签: html css html5 internet-explorer-8 internet-explorer-7

我一直在努力让HTML5标签适用于IE7& IE8。最后我使用了html5shiv.js,问题解决了。这些元素显示在屏幕上,因为它们显示在任何现代浏览器上。

但就目前而言,我不知道为什么IE7& IE8不会应用我声明的css规则。例如:

header
{
    background-color: #000000;
}

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

4 个答案:

答案 0 :(得分: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>

截图:

enter image description here

答案 1 :(得分:1)

希望这会对你有所帮助,

所有浏览器都能正确呈现HTML5标记 - 即使是IE6:

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

感谢。

答案 2 :(得分:0)

如果您希望使用跨浏览器方式设置这些元素的样式,同时仍保留其语义含义,则可以将每个元素包装在div中,并将CSS作为类应用于该div。大多数用于语义标记的用例无论如何都不需要样式 - 它们的主要目的是将这些信息传达给通过CSS样式传达给人类的机器。

答案 3 :(得分:-1)

你必须检查标题区域

如果您在

之前添加一些评论
<!DOCTYPE html> 

然后你也会遇到像css类缺失或属性

这样的问题