am_*_*am_ 11 html5 internet-explorer-9 html5shiv
我在页面中使用以下HTML5元素:header,article,section和nav.现在我将所有上面的HTML5元素设置为display:block,并在标题中包含带有条件语句的HTML5 shiv:
<!--[if lt IE 9]>
<script src="dist/html5shiv.js"></script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
该网站在IE7和IE8中运行良好 - 表明html5shiv确实在做它的魔力.但是当我在IE9中测试网站时,它缺乏HTML5元素内部所有内容的样式.
只要我将条件语句更改为:
<!--[if IE]>
<script src="dist/html5shiv.js"></script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
html5元素及其子元素现在可以应用正确的样式.我仔细检查了我的IE版本,它说我有IE版本9.0.8112.16421.
我还要提一下,这些站点是用PHP构建的,并通过使用PEAR的Cache_Lite进行缓存.但是,在一个简单的静态html页面上完成的测试为我提供了相同的结果.
有任何想法吗??
am_*_*am_ 30
我终于弄明白了问题是什么.在doctype html标记之前,我在我的网站顶部发表了评论.这似乎打破了IE9识别HTML5元素的能力.
这就是我所拥有的:
<!-- Served From Cache: Wednesday 13th of February 2013 03:02:22 PM -->
<!DOCTYPE html>
<html>
<head>
Run Code Online (Sandbox Code Playgroud)
因此我可以通过在doctype下面移动注释来解决这个问题.