0

我想申報IE6和IE7, 不同的風格,但我通過IE7爲IE6認可CSS狀態。我使用XP和瀏覽器7 這是我使用的代碼:條件IE6之間CSS分化IE7

<!--[if !IE]> 

#mainDiv{text-align:-moz-center;} 

#skyBanner {top:0px;left:0px; position:fixed;visibility:hidden;} 

<![endif]-->  

<!--[if lt IE 7]> 

body > #skyBanner { position: fixed;} 

#skyBanner {position:absolute;visibility:hidden; 

left: expression((0 + (ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft)) + 'px'); 

top: expression((0 + (ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop)) + 'px'); 

} 

<![endif]--> 

<!--[if IE 7]> 

#skyBanner {position:fixed;visibility:hidden; 

}  
<![endif]--> 

什麼是我的錯?

+4

而你的問題是? – 2009-07-12 10:39:54

回答

3

在CSS中不能使用條件註釋。僅限於HTML。因此,您必須將不同瀏覽器的聲明放入不同的文件中,並向它們發送條件註釋幾個<link>

那麼多沿

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

線的東西你需要做的有點不同的方式。使用註釋並附上瀏覽器特定CSS文件的鏈接。這樣,它應該工作:

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

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

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

您還可以使用<style>標籤而不是鏈接,但是這是這樣做的好方法。

3

!IE不正確的評論,和你錯過的風格標籤。如果這正是它在HTML中的存在,那麼這就是你的問題。如果這是在一個CSS文件中,那麼你不能在該位置使用條件註釋。

更正:

<!--[if !IE]>--> 
<style type="text/css" media="screen"> 
    #mainDiv {text-align:-moz-center;} 
    #skyBanner {top:0px;left:0px; position:fixed;visibility:hidden;} 
</style> 
<!--<![endif]--> 

<!--[if lt IE 7]> 
<style type="text/css" media="screen"> 
    body > #skyBanner { position: fixed;} 
    #skyBanner {position:absolute;visibility:hidden; 
    left: expression((0 + (ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft)) + 'px'); 
    top: expression((0 + (ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop)) + 'px'); 
    } 
</style> 
<![endif]--> 

<!--[if IE 7]> 
<style type="text/css" media="screen"> 
    #skyBanner {position:fixed;visibility:hidden;} 
</style> 
<![endif]--> 

再次,因爲它是目前寫的,沒有瀏覽器時看到!IE代碼。

我也不能肯定你已經正確地寫入其他條件語句。您在「if lt IE 7」條件下有「body > #skyBanner {position: fixed;}」,但就我所知,IE6和更低版本不支持此CSS選擇器。

因此,任何數量的我所描述的問題可能導致您的問題,IE6和IE7。