5

到目前为止我知道,条件注释只支持不同版本的 IE。

同样,我们是否也可以为其他浏览器提供条件注释。

如果是,如何?如果不是,最好的选择是什么?

4

6 回答 6

3

CSS 条件注释仅适用于 IE。. 但是,您可以检测 Firefox:

如果以下代码无法以独占方式检测 Firefox..

<!--[if !IE]>
  ...statements...
<![endif]-->

使用“下层显示的条件评论”让它工作......

<![if !IE]>
  ...statements...
<![endif]>

强制 Firefox 使用专有 css 的示例..

<![if !IE]>

  <link href="css/ff.css" rel="stylesheet" type="text/css" />

<![endif]>

话虽如此,您不必太担心其他符合标准的浏览器。

于 2010-06-15T08:03:28.747 回答
1

据我所知,CSS 条件语句是 IE 独有的。其他浏览器不需要它们,因为它们很好地遵循了标准。你为什么需要它们?

于 2010-06-15T07:58:30.347 回答
1

其他浏览器只有 IE 和 IE 版本没有条件注释。

您可以使用 Javascript 检查其他浏览器并应用如下样式。

您可以检查浏览器是否不是带有条件注释的 IE,但不是.

我建议访问W3.org并构建您的网站以使用符合标准的浏览器运行,然后使用条件注释来修复它在 IE 中的加载方式,如果有问题(通常有)。

于 2010-06-15T08:05:36.590 回答
0

查看CSS 浏览器选择器插件。我在我的网站上使用它,您基本上只需编写 CSS 并告诉您希望它针对哪个浏览器。我在我的网站上使用它,效果很好!

希望能帮助到你。

于 2010-06-15T08:01:01.683 回答
0

如其他答案所述,除了 IE 之外,没有针对浏览器的条件注释。使用JS检测是要走的路。

如果您想让注释元素影响 IE 条件和其他浏览器,那么只需执行以下操作:

<!--[if gt IE 8]><!-->
<link href="sample.css" rel="stylesheet" type="text/css" />
<!--><![endif]-->

从语法中可以看出,链接元素没有被注释掉,因此它对于非 IE 浏览器是可见的,对于 IE,它将遵循条件(在此示例中大于 IE 8)。

于 2013-09-18T11:22:07.530 回答
0

我希望有一个解决方案,尤其是对于电子邮件渲染引擎。Outlook 甚至有条件注释,但 Gmail 没有。

<!--[if gte mso 9]>

<![endif]-->
于 2014-03-27T21:31:31.623 回答