我无法使用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>
请帮助欧比旺,你是我唯一的希望。
答案 0 :(得分:32)
将HTML5Shiv的script
元素移至head
部分,移至所有其他style
和script
元素。
答案 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/