2011-11-10 106 views
4

在將Dinamycally CSS加載到IE中時出現問題。CSS訂單和Internet Explorer

我有不同的CSS文件,我需要將這些文件以特定順序添加到頭部。 例如,我有一個客戶文件,該文件應始終具有最高的優先級,並且在閱讀客戶信息時我必須在開始處包含這些文件。

所以我有這樣的:

<head> 
    < link rel: "stylesheet", 
     type: "text/css", 
     href: "StartingCSS.css"> 
    < link rel: "stylesheet", 
     type: "text/css", 
     href: CSSclient.CSS> 
</head> 

在某一時刻我必須包括的頭具體爲另一模塊另一個CSS文件,並使用原型和JavaScript我有這個文件的頭部的第一個,所以我有這樣的事情:

<head>  
    < link rel: "stylesheet", 
     type: "text/css", 
     href: "MyModule.css"> 
    < link rel: "stylesheet", 
     type: "text/css", 
     href: "StartingCSS.css"> 
    < link rel: "stylesheet", 
     type: "text/css", 
     href: CSSclient.CSS> 
</head> 

在一個正常的瀏覽器,如Chrome或FF的CSSclient文件仍然具有最高的優先級,因爲是插入時獲得的最後一個文件中,但在IE中的最後一個文件功率。

有人對我有個好主意嗎? :)

非常感謝,何塞

+2

不應該那些冒號是平等的嗎?有沒有這些逗號的需要,還是我錯過了什麼? – dougajmcdonald

+0

同意,是你的源代碼,還是你編輯它的「易於閱讀?」 – Kyle

+0

也一致認爲,這看起來甚至不像HTML ...也許''CSSclient.CSS'周圍的雙引號也會有幫助。 – Cyrille

回答

1

在其中加載CSS文件的順序在如何應用樣式的影響非常小。對某個元素應用的樣式取決於CSS規則中使用的選擇器的特殊性。即使特異性較低的樣式稍後宣佈,特異性較高的特異性也會降低特異性。

形式爲(a,b,c,d)的specificity can be seen as a combination of four digits其中a優先於b和b優於c而c優於d。所以(0,0,0,2)比(0,0,0,1)具有更高的特異性,(0,0,1,0)比(0,0,0,2)具有更高的特異性。

只有在選擇器的使用方式完全相同時,樣式聲明的順序(即裝入樣式表的順序)纔是重要的。

+0

,你可以通過條件註釋來定位IE – albert