【问题标题】:IE conditional statementsIE 条件语句
【发布时间】:2014-03-14 00:11:24
【问题描述】:

我知道这个话题已经详细讨论过了,但我尝试了很多建议,但没有得到任何结果。我想弄清楚我在这里做错了什么,

<!--[if IE]>
<span class="itemt2e">Title</span>
<![endif]-->
<!--[if !IE]>
<span class="itemt2">Title</span>
<![endif]-->

位于正文中,在html的头部

<style>
.itemt2e{font-size:14px;}
.itemt2{font-size:16px;}
</style>

显然,如果浏览器是任何版本的 IE,字体大小为 14px,而对于所有其他浏览器(firefox、chrome、safari 等),字体大小为 16px。代码显示在 html 中,但浏览器没有解释它,因为“标题”这个词没有出现在任何浏览器中。

【问题讨论】:

  • 你如何测试这个? IE10 不再做条件语句。并且 IE10 的“仿真”选项实际上并不响应 IE 条件语句。疯了,我知道。对此进行测试的唯一方法是在装有 IE9 实际版本的计算机上。
  • 哇,谢谢。那么任何大于10的版本都不会响应这个?我用 IE 11 进行了测试,但 firefox、chrome 和 safari 也没有响应。所以我被 IE 对事物的解释困住了?
  • 确实,条件 cmets 只适用于 IE5 到 IE9。这些是唯一可以读取它们的浏览器。
  • IE11 模仿 Firefox 用户字符串。仍然有一些 JS 测试以确定您是否在 IE 中,以及什么版本 var isIE11 = !!navigator.userAgent.match(/Trident\/7\./);
  • 是的,我认为测试用户代理可能是我现在要走的路线......

标签: internet-explorer conditional


【解决方案1】:

只有 IE(≤9) 可以理解条件 cmets,因此对于所有非 IE 浏览器,您的第二个跨度似乎在正常的注释块内。

这是 IE 的正确条件注释:

<!--[if !IE]> -->
<span class="itemt2">Title</span>
<!-- <![endif]-->

这告诉 IE 显示跨度,而不是试图告诉非 IE 浏览器显示它。

编辑:文本没有显示在 IE 中的原因相同:IE10+ 不识别条件 cmets,因此它也认为跨度在评论中。

【讨论】:

  • 现在说得通了。太糟糕了,因为字体在 IE 中显得非常大,使页面看起来有点不对劲。
猜你喜欢
  • 2014-05-31
  • 2014-07-31
  • 1970-01-01
  • 2013-04-24
  • 2014-07-30
  • 1970-01-01
  • 2012-11-21
  • 2012-10-01
  • 2013-11-17
相关资源
最近更新 更多