【发布时间】:2014-07-31 05:53:01
【问题描述】:
IE 10+ 不支持条件语句。这使得 IE 7-11 的开发变得棘手,因为 IE10-11 解析条件语句中的内容,而不是忽略它。例如:
<!--[if (IE 9) | (IE 8)]><!-->
// Code here will get rendered by IE10 & IE11
<!--<![endif]-->
那么,如果我想要一些代码只能在 IE 8 和 9 中呈现,然后一些代码只能在 IE10、IE11 和 Firefox 中呈现,我该怎么做?
编辑:请注意,我在这里不是在谈论样式;我想在我的网页中支持重大的结构变化。例如:
<!--[if (IE 9) | (IE 8)]><!-->
<div>
<div>
Test
</div>
</div>
<!--<![endif]-->
<!--[if (IE 10]><!-->
<div>
<h3>Test</h3>
</div>
<!--<![endif]-->
【问题讨论】:
-
我有点困惑。如果你想让一些代码被 IE10+ 和其他浏览器执行,你有什么答案吗?
-
不,因为我希望仅在 IE8+9 中执行一个代码块,并且该块被 IE10+11 忽略。另一个仅适用于 IE10+11,被 IE8+9 忽略。
-
条件 cmets 现已过时:MSDN。但是为什么你想让一些代码有一些特定于 IE10 / IE11(而不是在 FF / Chrome /...上做同样的事情)?
-
看来你唯一的选择是浏览器嗅探,我不推荐任何方式。
-
不,OP 意味着新的 IE 呈现了 "fallback CSS",这意味着旧的 IE。
标签: html internet-explorer firefox cross-browser conditional-comments