IE10 не применяет стили CSS к элементам заголовка / нижнего колонтитула /nav/main HTML5 вне JSFiddle. HTML5 вызывает причудливый режим?
У меня проблемы с применением IE10 стилей CSS, которые я указал для элементов HTML5 (и их дочерних элементов при нацеливании на дочерний элемент с помощью имени тега элемента HTML5 в селекторе), поэтому я разбил его на более простой пример и собрал простой Пример JSFiddle, чтобы продемонстрировать проблему, но когда я тестировал JSFiddle, IE10 решил применить стили должным образом. Итак, я взял точный исходный код результирующего iframe JSFiddle и скопировал его в файл, размещенный на моем сервере, и, увы, он не смог правильно применить стили еще раз.
JSFiddle's source:
<!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 или же iframes обрабатываются так же, как и их родительская страница?
Что заставляет IE10 споткнуться здесь? Может ли это быть что-то, что связано с сервером? Это не имеет особого смысла, но это странно.
Естественно, любые исправления, безусловно, будут оценены.
2 ответа
Согласно инструментам разработчика, он работает в режиме IE8 на вашем сервере. Попробуйте добавить этот код в свой <head>
тег:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
Вы также можете установить это на своем сервере:
Apache:
<IfModule mod_headers.c>
Header set X-UA-Compatible "IE=edge"
</IfModule>
Ваш веб-сервер имеет заголовок "X-UA-Compatible", установленный в "IE=8", что переводит IE в режим документа IE8. Вам нужно либо удалить его, либо установить "край". Если у вас нет доступа к настройкам сервера, вы можете попробовать добавить на свою страницу http://modernizr.com/, который позволит вам стилизовать элементы HTML5 в старых IE.