我使用以下 IE 条件语句来加载 IE 特定的样式表。该语句适用于 IE 7、8 和 9 兼容性 View 。但是,当我在普通 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 兼容性 View ”和“文档模式:IE9 标准”。 (我意识到最简单的解决方案是添加空间。但是实际页面位于托管服务上,我可以编辑的内容受到限制。)无论如何,这里有一些示例:
不工作:http://dev.ashramcreative.com/ccc/localist/ie9.html
工作中:http://dev.ashramcreative.com/ccc/localist/ie9-space.html
最佳答案
我刚刚遇到了同样的事情;并在浏览器模式下条件修复IE9前添加空格。
阅读后this post我能够确定元标记是罪魁祸首。
在我更正元标记(在我的例子中是元 http-equiv=content-type
)后,浏览器模式下的 IE9 可以正常工作,没有空格。
但是,在您的情况下,它看起来像是 <[endif]-->
应该是<![endif]-->
关于internet-explorer-9 - IE 9 中的条件注释。注释和条件语句之间的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9743385/