0013 CSS復合選擇器:后代、子代、交集、並集、超鏈接偽類


重點:

  • 復合選擇器
    • 后代選擇器
    • 並集選擇器
  • 標簽顯示模式
  • CSS背景
    • 背景位置
  • CSS三大特性
    • 優先級

在這里插入圖片描述


1. CSS復合選擇器

目標

  • 理解

    • 理解css復合選擇器分別的應用場景
  • 應用

    • 使用后代選擇器給元素添加樣式
    • 使用並集選擇器給元素添加樣式
    • 使用偽類選擇器

為什么要學習css復合選擇器

CSS選擇器分為 基礎選擇器 和 復合選擇器 ,但是基礎選擇器不能滿足我們實際開發中,快速高效的選擇標簽。

  • 目的是為了可以選擇更准確更精細的目標元素標簽。
  • 復合選擇器是由兩個或多個基礎選擇器,通過不同的方式組合而成的

1.1 后代選擇器(重點)

  • 概念:

    后代選擇器又稱為包含選擇器

  • 作用:

    用來選擇元素或元素組的子孫后代

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

父級 子級{屬性:屬性值;屬性:屬性值;}
  • 語法:
.class h3{color:red;font-size:16px;}

在這里插入圖片描述

  • 當標簽發生嵌套時,內層標簽就成為外層標簽的后代。
  • 子孫后代都可以這么選擇。 或者說,它能選擇任何包含在內 的標簽。

1.2 子元素選擇器

  • 作用:

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

  • 其寫法就是把父級標簽寫在前面,子級標簽寫在后面,中間跟一個 > 進行連接

  • 語法:

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

在這里插入圖片描述

一句話說出他們

這里的子 指的是 親兒子 不包含孫子 重孫子之類。

白話:

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

1.3 交集選擇器

  • 條件

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

  • 語法:

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

記憶技巧:

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

比如:   p.one   選擇的是: 類名為 .one  的 段落標簽。  

用的相對來說比較少,不太建議使用。


1.4 並集選擇器(重點)

  • 應用:
    • 如果某些選擇器定義的相同樣式,就可以利用並集選擇器,可以讓代碼更簡潔。
  • 並集選擇器(CSS選擇器分組)是各個選擇器通過,連接而成的,通常用於集體聲明。
  • 語法:

在這里插入圖片描述

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

  • 記憶技巧:

    並集選擇器通常用於集體聲明 ,逗號隔開的,所有選擇器都會執行后面樣式,逗號可以理解為 和的意思。

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


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


測試題

    <style>
        /* 1. 鏈接 登錄 的顏色為紅色 */
        .site-r a {
            color: red;
        }
        /*2. 主導航欄里面的所有的鏈接改為橙色  */
        .nav ul li a {
            color: orange;
        }
        /*3. 主導航欄和側導航欄里面文字都是14像素並且是微軟雅黑。*/
        .nav,
        .sitenav {
            font: 14px "微軟雅黑";
        }
    </style>
 <!-- 主導航欄 -->
<div class="nav">   
  <ul>
    <li><a href="#">公司首頁</a></li>
	<li><a href="#">公司簡介</a></li>
	<li><a href="#">公司產品</a></li>
	<li><a href="#">聯系我們</a></li>
  </ul>
</div>
<!-- 側導航欄 -->
<div class="sitenav">    
  <div class="site-l">左側側導航欄</div>
  <div class="site-r"><a href="#">登錄</a></div>
</div>

在不修改以上結構代碼的前提下,完成以下任務:

  1. 鏈接 登錄 的顏色為紅色
  2. 主導航欄里面的所有的鏈接改為橙色
  3. 主導航欄和側導航欄里面文字都是14像素並且是微軟雅黑。

1.5 鏈接偽類選擇器(重點)

偽類選擇器:

為了和我們剛才學的類選擇器相區別
類選擇器是一個點, 比如 .demo {}
而我們的偽類 用 2個點, 就是 冒號, 比如 :link{} 偽娘

作用:

用於向某些選擇器添加特殊的效果。比如給鏈接添加特殊效果, 比如可以選擇 第1個,第n個元素。

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


  • a:link /* 未訪問的鏈接 */

  • a:visited /* 已訪問的鏈接 */

  • a:hover /* 鼠標移動到鏈接上 */

  • a:active /* 選定的鏈接 */

    注意

  • 寫的時候,他們的順序盡量不要顛倒 按照 lvha 的順序。否則可能引起錯誤。
  • 記憶法
    • love hate 愛上了討厭
    • **lv **包包 非常 hao
  • 因為叫鏈接偽類,所以都是 利用交集選擇器 a:link a:hover
  • 因為a鏈接瀏覽器具有默認樣式,所以我們實際工作中都需要給鏈接單獨指定樣式。
  • 實際工作開發中,我們很少寫全四個狀態,一般我們寫法如下:
a {   /* a是標簽選擇器  所有的鏈接 */
			font-weight: 700;
			font-size: 16px;
			color: gray;
}
a:hover {   /* :hover 是鏈接偽類選擇器 鼠標經過 */
			color: red; /*  鼠標經過的時候,由原來的 灰色 變成了紅色 */
}

1.6 復合選擇器總結

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM