今天 大白 問了一個關于CSS權(quán)重的問題:
關于選擇器權(quán)重的問題 。class的權(quán)重是10 標簽權(quán)重是 1 。比如說 p span{} 權(quán)重是2. 如果11標簽自選擇器的組合的權(quán)重11,會不會覆蓋 一個class選擇器權(quán)重10的 樣式?
在跟他的討論中,重新整理了我對CSS權(quán)重的理解。
在《 樣式的作用域──頁面重構(gòu)中的模塊化設計(一) 》中有做過總結(jié),其中提到比較重要的兩點:
- 權(quán)值的大小跟選擇器的類型和數(shù)量有關
- 樣式的優(yōu)先級跟樣式的定義順序有關
在《 繼承──頁面重構(gòu)中的模塊化設計(三) 》的評論中 operafans 也提到了 標簽選擇器的權(quán)值永遠都比一個類選器擇器的權(quán)值低,無論有多少個 但一直以來都還是沒能想通。
其實規(guī)則很簡單: 比較同一級別的個數(shù),數(shù)量多的優(yōu)先級高,如果相同即比較下一級別的個數(shù) ,至于各級別的優(yōu)先級,大家應該已經(jīng)很清楚了,就是:
important > 內(nèi)聯(lián) > ID > 類 > 標簽 | 偽類 | 屬性選擇 > 偽對象 > 繼承 > 通配符
這也就解釋了為什么11個標簽的定義會比不上1個類的定義,1個類加11個標簽會比不上2個類的權(quán)重高。
原文:http://www.cssforest.org/blog/index.php?id=185
本文鏈接:http://www.95time.cn/tech/web/2011/8459.asp
出處:css森林
責任編輯:bluehearts
◎進入論壇網(wǎng)頁制作、WEB標準化版塊參加討論,我還想發(fā)表評論。
|