1. 程式人生 > >css複合選擇器及總結

css複合選擇器及總結

1. 後代選擇器

概念:後代選擇器又稱為包含選擇器。

作用:用來選擇元素或元素組的子孫後代。

     其寫法就是把外層標籤寫在前面,內層標籤寫在後面,中間用空格分隔,先寫父親爺爺,在寫兒子孫子。

  格式:父級 子級{屬性:屬性值;屬性:屬性值;}

     語法:.class h3{color:red;font-size:16px;}

  • 當標籤發生巢狀時,內層標籤就成為外層標籤的後代。

  • 子孫後代都可以這麼選擇。 或者說,它能選擇任何包含在內 的標籤。

2. 子元素選擇器

作用:子元素選擇器只能選擇作為某元素子元素(親兒子)的元素。

其寫法就是把父級標籤寫在前面,子級標籤寫在後面,中間跟一個 >

進行連線。

語法:.class>h3{color:red;font-size:14px;}

 比如:  .demo > h3 {color: red;}   說明  h3 一定是demo 親兒子。  demo 元素包含著h3。

1.3 交集選擇器

條件:交集選擇器由兩個選擇器構成,找到的標籤必須滿足:既有標籤一的特點,也有標籤二的特點。

語法:h3.class{ color:red; }

其中第一個為標籤選擇器,第二個為class選擇器,兩個選擇器之間不能有空格,如h3.special。

交集選擇器 是 並且的意思。 即...又...的意思

比如:   p.one   選擇的是: 類名為 .one  的 段落標籤,但用的相對來說比較少。

4. 並集選擇器

應用:如果某些選擇器定義的相同樣式,就可以利用並集選擇器,可以讓程式碼更簡潔。

並集選擇器(CSS選擇器分組)是各個選擇器通過,連線而成的,通常用於集體宣告。

語法:.class,h3 {color:red;}

任何形式的選擇器(包括標籤選擇器、class類選擇器id選擇器等),都可以作為並集選擇器的一部分。

記憶技巧:並集選擇器通常用於集體宣告 ,逗號隔開的,所有選擇器都會執行後面樣式,逗號可以理解為 和的意思。

比如  .one, p , #test {color: #F00;}  
表示   .one 和 p  和 #test 這三個選擇器都會執行顏色為紅色,通常用於集體宣告。  

他和他,在一起, 在一起 一起的意思

5. 連結偽類選擇器

偽類選擇器:和類選擇器相區別類選擇器是一個點 比如 .demo {} 而我們的偽類 用 2個點 就是 冒號 比如 :link{} 。

作用:用於向某些選擇器新增特殊的效果。比如給連結新增特殊效果, 比如可以選擇 第1個,第n個元素。

因為偽類選擇器很多,比如連結偽類,結構偽類等等。我們這裡先給大家講解連結偽類選擇器。

  • a:link /* 未訪問的連結 */

  • a:visited /* 已訪問的連結 */

  • a:hover /* 滑鼠移動到連結上 */

  • a:active /* 選定的連結 */

注意

  • 寫的時候,他們的順序儘量不要顛倒 按照 lvha(四類的首字母) 的順序。否則可能引起錯誤。

  • 因為叫連結偽類,所以都是利用交集選擇器 a:link a:hover

  • 因為a連結瀏覽器具有預設樣式,所以我們實際工作中都需要給連結單獨指定樣式。

  • 實際開發中,我們很少寫全四個狀態,一般我們寫法如下:

a {   /* a是標籤選擇器  所有的連結 */
            font-weight: 700;
            font-size: 16px;
            color: gray;
}
a:hover {   /* :hover 是連結偽類選擇器 滑鼠經過 */
            color: red; /*  滑鼠經過的時候,由原來的 灰色 變成了紅色 */
}

6. 複合選擇器總結

選擇器 作用 特徵 使用情況 隔開符號及用法
後代選擇器 用來選擇元素後代 是選擇所有的子孫後代 較多 符號是空格 .nav a
子代選擇器 選擇 最近一級元素 只選親兒子 較少 符號是> .nav>p
交集選擇器 選擇兩個標籤交集的部分 既是 又是 較少 沒有符號 p.one
並集選擇器 選擇某些相同樣式的選擇器 可以用於集體宣告 較多 符號是逗號 .nav, .header
連結偽類選擇器 給連結更改狀態 較多 重點記住 a{} 和 a:hover 實際開發的寫法