11
我使用下面的IE条件注释:IE条件注释和Chrome/Firefox的
<!--[if gt IE 7]>
Here is some code.
<![endif]-->
这个伟大的工程,从任何IE渲染低于8
但是保持代码,这也保持了代码在Chrome和Firefox中呈现。
关于为什么会发生这种情况的任何想法,以及如何让代码在IE以外的浏览器中呈现?
我使用下面的IE条件注释:IE条件注释和Chrome/Firefox的
<!--[if gt IE 7]>
Here is some code.
<![endif]-->
这个伟大的工程,从任何IE渲染低于8
但是保持代码,这也保持了代码在Chrome和Firefox中呈现。
关于为什么会发生这种情况的任何想法,以及如何让代码在IE以外的浏览器中呈现?
条件注释是Microsoft IE特有的规则,它们不是任何标准的一部分。如果检查条件注释的结构:
<!--[if gt IE 7]>
Here is some code.
<![endif]-->
正如其名字所暗示的,它是所有只是一个大注释<!-- comment -->
。 IE会检查这些条件的注释,这些条件同样不符合HTML标准。
要创建代码不能在IE渲染,但在其他浏览器不渲染,可以使用以下条件:
<!--[if !IE]> -->
This will be rendered by anything but IE.
<!-- <![endif]-->
看到的情况是如何封闭在封闭的评论?这就是为什么在普通浏览器中呈现,而IE检查条件,并决定省略一切,直到endif
。
编辑
如果你想添加另一个条件,不断呈现在非IE浏览器的代码,你可以使用以下解决方法:
<!--[if gt IE 7]> <!-- -->
Here is some code for anything but IE 7 and below.
<!-- <![endif]-->
注意,我不得不使用打开注释再次阻止IE在呈现-->
之前的代码。其他浏览器仍将其视为评论的一部分。
我确实希望代码能够显示IE 8和IE 9之前没有IE的版本。我也希望代码在Chrome和Firefox中显示。 – Baxter 2012-04-15 05:34:40
只要你关闭评论,我想它应该适用于任何情况。 – zebasz 2012-04-15 05:42:03
我测试过了,不太合适。我发现一个解决方法,所以我会编辑并添加它。 – zebasz 2012-04-15 05:48:54