2010-03-10 50 views
23

如果我有兩個CSS文件:兩個CSS文件中定義同一類

文件1:

.colorme 
{ 
    background-color:Red; 
} 

文件2:

.colorme 
{ 
    background-color:Green; 
} 

而在一個頁面,其中一個已包括他們會優先考慮?我猜最後一個加載的那個?如果是的話,無論如何,以確保最後加載哪一個CSS文件?

+1

如果你不認爲這是「定義一個類」這可能會有幫助。您正在使用與元素匹配的選擇器編寫規則集。 (這些特定的選擇器根據他們的類匹配元素)。然後級聯適用:http://www.w3.org/TR/CSS21/cascade.html#cascade – Quentin 2010-03-10 13:50:45

+1

如果您無法控制HTML中文件的順序,則始終可以確保一條規則獲勝與!重要的旗幟。 – Tom 2010-03-10 13:59:01

回答

48

最後一個加載(或者如David指出的,更準確地說包括最後)在這種情況下獲勝。請注意,它是每個屬性,但如果加載具有不同屬性的2個定義,則結果將是組合。如果一個屬性同時屬於第一個和第二個,則該屬性的最後一個獲勝。

確保最後使用/勝利的唯一方法是在頁面中以您想要的順序包含<link>元素。

的財產,這裏有一個例子:

.class1 { color: red; border: solid 1px blue; padding: 4px; } //First .css 
.class1 { color: blue; margin: 2px; } //Second .css 

等同於:

.class1 { color: blue; border: solid 1px blue; padding: 4px; margin: 2px; } 
+14

迂腐:它實際上不是一個*加載*最後一個,它是最後出現在源程序中的那個。在異步加載的情況下,你可以在開始的時候在'head'加載結尾有一個簡短的樣式表。 – Quentin 2010-03-10 13:49:28

+0

@大衛 - 確實讓它更清晰,更新的好點子 – 2010-03-10 13:51:28

+0

很高興爲大家貢獻力量。 – Quentin 2010-03-10 13:51:58

相關問題