如果语句<! - [if!IE]>显示在FF - >中,则除了IE之外的所有浏览器

时间:2011-06-06 18:40:21

标签: css cross-browser

我正在创建一个模板,我有两个不同的CSS样式表。一个用于IE,一个用于所有其他浏览器。

我找到了一个针对所有浏览器和IE浏览器的解决方案。

在我的标题中,我指出:

<!--[if !IE]><!--><link rel="stylesheet" href="path/templates/thisTemplate/css/the-pack.css" type="text/css" /><!--<![endif]-->

<!--[if IE]><link rel="stylesheet" href="path/templates/thisTemplate/css/template_ie_lt_9.css" type="text/css" /><!--<![endif]-->

样式表工作正常。除了firefox在页面开头显示文本<!--[if !IE]>

你能为我提供适当的替代方案吗?或者为什么这个文本显示,即使是在head元素中,为了不显示我需要做什么?

谢谢

4 个答案:

答案 0 :(得分:1)

正面条件评论的结尾只是<![endif]-->,不要重新开始评论:

<!--[if IE]><link rel="stylesheet"
href="path/templates/thisTemplate/css/template_ie_lt_9.css" type="text/css" />
<![endif]-->

答案 1 :(得分:1)

维基百科说:

<!--[if gt IE 6]><!-->
This code displays on non-IE browsers and on IE 7 or higher.
<!--<![endif]-->

那么,也许您应该使用if !IE更改if gt IE 9

更多信息:http://reference.sitepoint.com/css/conditionalcomments

答案 2 :(得分:0)

这应该是代码:

<!--[if !IE]><link rel="stylesheet" href="path/templates/thisTemplate/css/the-pack.css" type="text/css" /><![endif]-->
<!--[if IE]><link rel="stylesheet" href="path/templates/thisTemplate/css/template_ie_lt_9.css" type="text/css" /><![endif]-->

格尔茨,

XpertEase

答案 3 :(得分:0)

一个老问题,但比以往任何时候都更有意义,所以另一个可能的解

<link rel="stylesheet" href="/css/style.css" media="(min-width:0px)">

<!--[if (lt IE 9) & (!IEMobile)]>
    <link rel="stylesheet" href="/css/ie.css">
<![endif]-->

您可以使用media属性来避免条件,旧版浏览器无法理解这一点,因此文件无法加载。