html5shiv无法在IE8中运行?

时间:2013-04-09 00:54:42

标签: css html5 internet-explorer-8 html5shiv

我无法使用HTML5元素在IE8中获取样式。我已经搜索了stackoverflow和Google,没有任何建议我尝试过工作。

我从一个更精心设计的页面(我将XHTML框架转换为HTML5)开始,并没有丝毫关注,但在模拟和F12 IE8标准模式IE中看到零结果后...这里很简单代码我无法工作:

<!doctype html>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta charset="UTF-8" />
        <title>Template</title>
        <style type="text/css">
            header {
                display: block;
                border:1px solid red;
            }
        </style>
    </head>
    <body>
        <header>
            HTML5 HEADER
        </header>
        <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    </body>
</html>

请帮助欧比旺,你是我唯一的希望。

3 个答案:

答案 0 :(得分:32)

将HTML5Shiv的script元素移至head部分,移至所有其他stylescript元素。

答案 1 :(得分:5)

在样式声明之前移动shiv。

要提高现代浏览器的性能,您可能需要对shiv使用条件注释。

<!doctype html>
<html>
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta charset="UTF-8" />
        <title>Template</title>

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

        <style type="text/css">
            header {
                display: block;
                border:1px solid red;
            }
        </style>
    </head>
    <body>
        <header>
            HTML5 HEADER
        </header>
    </body>
</html>

答案 2 :(得分:0)

我遇到了类似的问题,但我的问题与IE条件语注释语法有关。

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>HTML5 Shim Test</title>

    <style>
        nav ul { font-weight: bold; }
        /* the links wont be bold in IE8 unless the shim is working */
    </style>

    <!--[if lt IE 9] >
    <script src="html5shiv.js"></script>
    <![endif]-->

</head>
<body>
    <nav>
        <ul>
            <li><a href="#">Link 1</a></li>
            <li><a href="#">Link 2</a></li>
            <li><a href="#">Link 3</a></li>
        </ul>
    </nav>
</body>
</html>

您是否注意到]><!--[if lt IE 9] >之间的空格?我也没有...很长一段时间。删除空间,一切都很好。

另外,值得一提的是HTML5 Shim项目页面确实说垫片需要在<head>中,但它可以在你的样式表之后:

  

&#34;它必须包含在<body>元素之前(即<head>)但   如果它出现在CSS之前或之后并不重要 - 但对于   为了提高性能,包含CSS会更有意义   首先是这个脚本。&#34;通过https://code.google.com/p/html5shim/