无法在IE中设置HTML5元素的样式(尽管shiv和display:block)

时间:2012-02-20 21:53:41

标签: css html5 styles semantic-markup

我似乎无法找出遗漏的东西。所有受影响的元素都有display:block

header元素的示例样式:

header
{
    width: 923px;
    height: 55px;
    background: #395168;
    margin-top: 25px;
}

5 个答案:

答案 0 :(得分:1)

IE 6-8不知道标题标记,因此无法将样式应用于它。要让IE了解此标记,请在 head 部分添加以下脚本。

<script language='javascript'>
document.createElement('header');
</script>

这可以解决您的问题。

答案 1 :(得分:1)

解决了这个问题。我做的是我把脚本链接放在样式表链接下,突然IE 6-8应用了我的样式。

<link rel="stylesheet" href="styles/style.css" type="text/css">

<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

非常感谢您帮助我:)

答案 2 :(得分:0)

也许只是尝试给它上课?

答案 3 :(得分:0)

IE目前不允许将样式应用于这些元素。我解决它的方法是将它们包装在另一个div中:

<div class="header">
    <header>
    </header>
</div>

这显然不是很好,但是它胜过依赖JS的任何解决方案,因为它在JS禁用时不会显示奇怪。

答案 4 :(得分:0)

我今天遇到这个问题,升级到最新的html5shiv代码(现在转移到Github这里:https://github.com/aFarkas/html5shiv),将样式表移到脚本链接上方,所有元素都显示:block set但仍然没有运气样式。 ..

我意识到我的标记中没有doctype声明 - 添加:

<!DOCTYPE html>

解决了问题,现在所有样式都正确应用 - 完全解决方案:

<!DOCTYPE html>
<html>
    <head>
        <link href="/css/styles.css" rel="stylesheet" type="text/css">
        <script src="/js/html5shiv.min.js"></script>
    </head>
    <body>
        <!-- html 5 markup -->
    </body>
</html>