我正在使用以下IE条件语句来加载特定于IE的样式表。该语句适用于IE 7,8和9兼容性视图。但是,当我在纯IE 9中查看页面时,页面为空。我在开发人员工具中检查了它,似乎条件语句永远不会关闭,有效地将页面的其余部分注释掉。
<!--[if lt IE 9]><link xmlns="" rel="stylesheet" href="http://colum.edu/Site_Files/localist/css/ie.css" /><[endif]-->
经过大量的拔毛之后,我终于想通了如果我在条件评论的括号前添加一个空格,它的评论在IE 9中有效:
<!-- [if lt IE 9]><link xmlns="" rel="stylesheet" href="http://colum.edu/Site_Files/localist/css/ie.css" /><[endif]-->
唯一的区别是注释和条件语句之间有空格......
<!--[if lt IE 9]> vs <!-- [if lt IE 9]>
我无法弄清楚为什么地球上会发生这种情况。同样,它只发生在“浏览器模式:IE9”而不是“浏览器模式:IE9兼容性视图”和“文档模式:IE9标准”。 (我意识到最简单的解决方案是添加空间。但是真实的页面存在于托管服务上,而且我的编辑内容有限。)无论如何,这里有一些例子:
不工作:http://dev.ashramcreative.com/ccc/localist/ie9.html
工作:http://dev.ashramcreative.com/ccc/localist/ie9-space.html
答案 0 :(得分:4)
我刚遇到同样的事情;并在浏览器模式下在条件固定IE9之前添加空格。
在阅读this post后,我能够确定要归咎于元标记。
在我更正元标记后(在我的案例中为元http-equiv=content-type
),IE9在浏览器模式下正常工作,没有空格。
但是,在您的情况下,好像<[endif]-->
应该是<![endif]-->