IE中的条件注释9.注释和条件语句之间的空格

时间:2012-03-16 19:28:05

标签: internet-explorer-9 conditional

我正在使用以下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

1 个答案:

答案 0 :(得分:4)

我刚遇到同样的事情;并在浏览器模式下在条件固定IE9之前添加空格。

在阅读this post后,我能够确定要归咎于元标记。

在我更正元标记后(在我的案例中为元http-equiv=content-type),IE9在浏览器模式下正常工作,没有空格。

但是,在您的情况下,好像<[endif]-->应该是<![endif]-->