css選擇器大全
一、常用的選擇器
元素選擇器
作用:通過元素選擇器可以選則頁面中的所有指定元素 語法:標籤名 { }
id選擇器
作用:通過元素的id屬性值選中唯一的一個元素 語法:#id屬性值 { }
類選擇器
作用:通過元素的class屬性值選中一組元素 語法:.class屬性值{ }
並集選擇器
作用:通過選擇器分組可以同時選中多個選擇器對應的元素 語法:選擇器1,選擇器2,選擇器N{ }
交集選擇器
作用:可以選中同時滿足多個選擇器的元素 語法:選擇器1選擇器2選擇器N{ }
通配選擇器
作用:他可以用來選中頁面中的所有的元素 語法:*{ }
二、子元素和後代元素選擇器
元素之間的關係
父元素:直接包含子元素的元素 子元素:直接被父元素包含的元素 祖先元素:直接或間接包含後代元素的元素,父元素也是祖先元素 後代元素:直接或間接被祖先元素包含的元素,子元素也是後代元素 兄弟元素:擁有相同父元素的元素叫做兄弟元素
後代元素選擇器
作用:選中指定元素的指定後代元素 語法:祖先元素 後代元素{}
子元素選擇器
作用:選中指定父元素的指定子元素 語法:父元素 > 子元素
三、僞類選擇器
概述
僞類專門用來表示元素的一種的特殊的狀態。 比如:訪問過的超鏈接,比如普通的超鏈接,比如獲取焦點的文本框。 當我們需要爲處在這些特殊狀態的元素設置樣式時,就可以使用僞類。
舉例
:link 作用:表示普通的鏈接(沒訪問過的鏈接) :visited 作用:表示訪問過的鏈接 :hover 作用:表示鼠標移入的狀態 :active 作用:表示的是超鏈接被點擊的狀態 :focus 作用:表示文本框獲取焦點 ps: :hover和:active也可以爲其他元素設置(ie6不支持)
四、僞元素選擇器
概述
使用僞元素來表示元素中的一些特殊的位置
舉例
p:first-letter 作用:選擇p中第一個字符 p:first-line 作用:選擇p中的第一行 :before 作用:表示元素最前邊的部分, 一般before都需要結合content這個樣式一起使用,通過content可以向before或after的位置添加一些內容 :after 表示元素的最後邊的部分
五、屬性選擇器
概述
可以根據元素中的屬性或屬性值來選取指定元素
示例
[屬性名] 選取含有指定屬性的元素 [屬性名="屬性值"] 選取含有指定屬性值的元素 [屬性名^="屬性值"] 選取屬性值以指定內容開頭的元素 [屬性名$="屬性值"] 選取屬性值以指定內容結尾的元素 [屬性名*="屬性值"] 選取屬性值以包含指定內容的元素
六、子元素、兄弟元素選擇器以及否定僞類
子元素選擇器舉例
:first-child 可以選中第一個子元素 :last-child 可以選中最後一個子元素 :nth-child(XXX) 可以選中任意位置的子元素,該選擇器後邊可以指定一個參數,指定要選中第幾個子元素,even 表示偶數位置的子元素,odd 表示奇數位置的子元素。 :first-of-type、:last-of-type、:nth-of-type 和:first-child這些非常的類似,只不過child,是在所有的子元素中排列,而type,是在當前類型的子元素中排列
兄弟選擇器舉例:
前一個元素 + 後一個元素 作用:可以選中一個元素後緊挨着的指定的兄弟元素 前一個元素 ~ 後邊所有元素 作用:選中後邊的所有兄弟元素
否定僞類舉例
作用:可以從已選中的元素中剔除出某些元素
七、選擇器的優先級別
概述
當使用不同的選擇器,選中同一個元素時並且設置相同的樣式時,這時樣式之間產生了衝突,最終到底採用哪個選擇器定義的樣式,由選擇器的優先級(權重)決定,優先級高的優先顯示。規則
內聯樣式 , 優先級 1000 id選擇器, 優先級 100 類和僞類, 優先級 10 元素選擇器,優先級 1 通配* , 優先級 0 繼承的樣式,沒有優先級
其他情況:
當選擇器中包含多種選擇器時,需要將多種選擇器的優先級相加然後在比較,但是注意,選擇器優先級計算不會超過他的最大的數量級,如果選擇器的優先級一樣,則使用靠後的樣式。
並集選擇器的優先級是單獨計算 div , p , #p1 , .hello{ }。
可以在樣式的最後,添加一個!important,則此時該樣式將會獲得一個最高的優先級,將會優先於所有的樣式顯示甚至超過內聯樣式,但是在開發中儘量避免使用!important。