Ответ 1
Переместите элемент HTML5Shivs script
в раздел head
, до всех остальных элементов style
и script
.
Я не могу получить стили, чтобы забрать в IE8 элементы HTML5. Я тратил 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>
Пожалуйста, помогите Оби-Вану, ты моя единственная надежда.
Переместите элемент HTML5Shivs script
в раздел head
, до всех остальных элементов style
и script
.
Переместите 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>
У меня была аналогичная проблема, но моя проблема связана с синтаксисом условного комментария 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>
, но она может появиться после ваших таблиц стилей:
"Он должен быть включен перед элементом
<body>
(т.е. в<head>
), но не имеет значения, появляется ли оно до или после CSS, но для ради производительности, было бы разумнее включить CSS сначала это script." через https://code.google.com/p/html5shim/