[英]IE10 not applying CSS styles on HTML5's header/footer/nav/main elements outside of JSFiddle. HTML5 quirks mode triggering?
我遇到了IE10应用为HTML5元素(以及使用选择器中的HTML5元素标记名称使用子项定位子项的子项)指定的CSS样式时遇到的问题,因此我将其分解为一个简单的示例,并整理了一个简单的示例JSFiddle示例来演示该问题,但是当我测试JSFiddle时,IE10决定适当地应用样式。 因此,我获取了JSFiddle生成的iframe的确切源代码,并将其复制到服务器上托管的文件中 ,可惜它再次无法正确应用样式。
JSFiddle的来源:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title> - jsFiddle demo</title>
<script type='text/javascript' src='/js/lib/dummy.js'></script>
<link rel="stylesheet" type="text/css" href="/css/result-light.css">
<style type='text/css'>
header, nav, main, footer {
display: block;
background: gray;
padding: 10px;
margin: 1px;
}
nav ul {
list-style: none;
padding: 0;
margin: 0;
}
nav ul li {
display: inline-block;
}
nav ul li a {
color: white;
text-decoration: none;
padding: 10px;
}
</style>
<script type='text/javascript'>//<![CDATA[
window.onload=function(){
}//]]>
</script>
</head>
<body>
<header>
<img src="http://placehold.it/300x80&text=Logo" />
</header>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
<main>
<p>This is filler content inside the <code><main></code> element. The <code><header></code>, <code><main></code> and <code><footer></code> should each have a gray background and be displayed as a block.</p>
</main>
<footer>
<p>Copyright © 2013, All Rights Reserved</p>
</footer>
</body>
</html>
IE10有何处理? 它不可能是代码,因为它可以在iframe中正常工作,还是iframe与其父页面得到了相同的待遇?
是什么原因导致IE10在这里跳闸? 可能与服务器相关吗? 那没有多大意义,但这是一个奇怪的问题。
自然,任何修复都将不胜感激。
根据开发人员工具,它在服务器上以IE8模式运行。 尝试将以下代码添加到您的<head>
标记中:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
您也可以在服务器上进行设置:
阿帕奇:
<IfModule mod_headers.c>
Header set X-UA-Compatible "IE=edge"
</IfModule>
您的Web服务器的“ X-UA兼容”标头设置为“ IE = 8”,这将IE强制转换为IE8文档模式。 您需要删除它或将其设置为“ edge”。 如果您无权访问服务器设置,则可以尝试在页面上添加modernizr ,这应允许您在较旧的IE中设置HTML5元素的样式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.