2010-07-07 192 views
2

我在使用IE时遇到问题。 Everthing使用Firefox很好,但IE 6似乎给css带来了更多麻烦。所以我用IE跨浏览器兼容性问题

<![if !IE]> 
<link href="ie6.css" rel="stylesheet"> 
<![endif]> 

要解决问题,但它不起作用。此代码中有任何错误?因为当我改变这个CSS在IE中没有任何改变。

回答

6

那么,你的conditional comment说“如果不是 IE”。
另请注意,您正在使用下层显示的条件注释,这意味着每个浏览器(除了 IE)都将包含额外的CSS文件。使用<!--[if IE]><![endif]-->代替。

+0

以及事件虽然我用这个代码它根本不工作。 – Jay 2010-07-07 09:40:45

+0

@Jay用更多的代码更新你的问题,因为这应该是工作。 – deceze 2010-07-07 09:46:52

1

变化:

<![if !IE]>  ! means not IE there 

要:

<![if IE]>  means if it is IE 

使用基于IE的CSS。

+0

不正确:您仍在使用[downlevel-revealed conditional comments](http://msdn.microsoft.com/en-us/library/ms537512%28VS.85%29.aspx#dlrevealed),就像OP确实;除IE之外的其他浏览器都不会将这些内容识别为有效的HTML,并且会简单地忽略它们,因此内部的所有内容都不会被忽略。 – 2010-07-07 12:40:56

1

ie.css放在任何其他css文件之后?如果你已经把它放在常规的css之前,它将被覆盖。 它应该是这个样子:

<link href="other.css" rel="stylesheet"> 
<![if IE]> 
    <link href="ie6.css" rel="stylesheet"> 
<![endif]> 
+0

这真的很有用。感谢家伙.. – Jay 2010-07-10 14:57:17

2

尝试

<!--[if lte IE 6]><link href="ie6.css" rel="stylesheet"><![endif]--> 
+1

尽管你的答案在技术上是正确的,但我不会测试'lte IE 6';由于IE6标准模式与IE5.5的渲染引擎有很大不同,在IE> = 6中也被称为怪异模式,所以IE <= 5.5有许多其他的怪癖可供处理。 – 2010-07-07 12:34:35

+0

确实如此。 – Ms2ger 2010-07-12 15:16:50

2

我使用这个;

<!--[if IE 6]> 
this place for your stuff. 
<![endif]--> 
3

尝试使用此条件语句:

<!--[if lt IE 7]> 
    <link href="ie6.css" rel="stylesheet"> 
<![endif]--> 

基本上它说,如果浏览器是小于IE7然后用这个样式表。适用于我。

+0

是的,它的工作..谢谢 – Jay 2010-07-10 14:56:38