在NOT IE时使用样式表

时间:2010-03-25 10:39:42

标签: css internet-explorer

当我使用此代码时

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

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

IE 6确实正确使用了指定的样式表,但所有其他浏览器在应该使用基本陈述的样式时都忽略它们,如果你不是IE,请使用这个样式表。

有什么想法吗?

3 个答案:

答案 0 :(得分:7)

非IE条件评论有点像黑客,因此与您定位IE时的写法略有不同。

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

非IE浏览器会读取此内容,因为它们会完全忽略条件注释,并且注释会被视为已关闭并附加额外内容。 IE会将其视为“非IE”条件,并避免调用样式表。

答案 1 :(得分:2)

只有IE支持条件评论。所以FF,Chrome,Safari,Opera等都会忽略这些评论。

最好的方法是为其他浏览器制作一个样式表,并使用条件注释为IE设置单独的样式表。

答案 2 :(得分:1)

那是因为你已经评论过了。包含“not-ie”样式的正确方法是这样的:

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

编辑:当然最好将所有标准css放在一个总是包含的文件中,并让ie特定的css覆盖。但是这个可以是包含所有其他浏览器处理的一些风格的最快方式,但是没有,并且很难正确地改回到默认状态。