首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >html5shiv不能在IE8中工作?

html5shiv不能在IE8中工作?
EN

Stack Overflow用户
提问于 2013-04-09 08:54:42
回答 3查看 18.5K关注 0票数 10

我无法在带有HTML5元素的IE8中获得要拾取的样式。我已经搜索了stackoverflow和Google,没有任何建议我已经尝试过了。

我从一个更精致的页面开始(我正在将一个XHTML框架转换为HTML5),一点也不担心,但在看到仿真和F12 IE8标准模式IE中没有任何结果后...下面是我不能使用的简单代码:

代码语言:javascript
复制
<!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>

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-09 08:59:29

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

票数 32
EN

Stack Overflow用户

发布于 2013-04-09 09:04:24

将shiv移动到样式声明之前。

为了提高现代浏览器的性能,您可能希望对shiv使用条件注释。

代码语言:javascript
复制
<!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>
票数 5
EN

Stack Overflow用户

发布于 2013-11-26 08:37:53

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

代码语言:javascript
复制
<!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] >]>之间的空格了吗?我有很长一段时间没有either...for了。删除空间后,一切都会正常工作。

此外,值得一提的是,HTML5填充程序项目页面确实说明填充程序需要位于<head>中,但它可以位于样式表之后:

“它必须包含在<body>元素之前(即在<head>中),但不管它出现在CSS之前还是之后--但为了提高性能,最好先包含CSS,而不是这个脚本。”通过https://code.google.com/p/html5shim/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15891535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档