我不得不爲具有float:float/left的規則解析html文檔集的css。當DOM元素有多個類時css的特殊性
我已經想出了當一組嵌套的DOM元素中的每一個最多隻有一個類時,所有東西都是如何工作的。規則的特殊性基於計算出的選擇器號碼,先是id,然後是class,然後是標籤elem。如果有關係,請選擇最後的規則。
所以特異性的思想是,至多有一個規則是基於匹配DOM標籤元素的選擇器的特殊性來選擇的。
如果有多個班級,不僅在最深的DOM孩子,而且在父母級別,我該怎麼辦。簡單形式的多個類選擇並應用多個規則。但我無法弄清楚確定特異性如何與此相互作用的完整指導原則。例如。通常特異性選擇一個規則,最高特異性。但在終端DOM元素中有多個類,在互聯網上演示的簡單情況下,由多個類選擇的多個規則具有相同的特徵。但是我可以看到更復雜的情景,不知道如何選擇規則。
這裏有一個案例:
p.cls1 {
}
div#id1 p.cls2 {
}
.cls3 {
}
HTML:
<div id="id1"><p class="cls1 cls2 cls3">...
所有3類報復選定儘管所有3具有不同的特異性號。但是,我可以通過給外層div賦予多個類來使問題變得更糟。儘管有特殊性,但在css 2.1規範中找不到任何信息,說明應該發生什麼,以及多個類如何選擇多個規則。
Andy
你忘了'!important',它增加了一個全新的規則級別。 – Khez 2011-04-13 21:00:37
在下面添加更新。我希望這有幫助。 – 2011-04-14 14:45:48