css選擇器大全

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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章