CSS在同一規則下的選擇順序

2021-05-26 19:37:04 字數 815 閱讀 7478

給treeview的hovernodestyle的 selectednodestyle賦值selectednode,

給treeview的nodestyle的 cssclass賦值node

**如下:

在乙個css檔案中定義selectednode和node

.selectednode

.node

從上面的css**可看出,selectednode和node的區別只是顏色的區別,這時預覽頁面,選中乙個node,但並沒有出現selectednode中指定的顏色,問題出現**呢?

檢視下html原檔案,發現teeview中的node的class的定義如下:

class="ctl00_contentplaceholder2_tvou_0 node ctl00_contentplaceholder2_tvou_1 selectednode
即selectednode在node之後,但css的優先選擇和class中定義的順序是無關的,而是和在css檔案中定義的順序有關

把上面的css定義調整下順序

.node

.selectednode

預覽頁面,選中乙個node,問題解決

這是因為瀏覽器在選擇css的定義時,如果兩個規則中定義了同一種規則的話,最後出現的定義會覆蓋上乙個定義,同時,這也就是為什麼在引用css檔案時,先引用通用的css檔案,再引用特的css檔案的原因,比如

CSS規則的執行順序

1 特殊性 首先來看一下這個例子將會發生的情形 程式 grape h1 h1和.grape都匹配上面的h1元素,那麼到底應該使用哪乙個呢?實踐證明.grape是正確答案,把句子顯示為藍色。根據規範,一般的html元素選擇符 h1,p 等 具有特殊性1,類選擇符具有特殊性10,id選擇符具有特殊性10...

CSS選擇器的常用規則

color darkred b size large css選擇器的常用規則 size b color size medium b 1 組規則 b size 語法 選擇符1,選擇符2,選擇符n 示例 定義h1的格式 h1 size medium b 2 繼承規則 b size 當對乙個html標籤定...

css用浮動的方法讓div在同一行

由於浮動框不在文件的普通流中,所以文件的普通流中的塊框表現得就像浮動框不存在一樣。如果在頁面中輸入了3個div 標籤,因為div是塊級元素,所以這3個div各佔一行,但是你為第乙個div設定了float right 浮動是第乙個div脫離就正常的文件流,所以第乙個div的位置空間 也就空了出來,下面...