1. 程式人生 > 其它 >【16】CSS基礎(2)——選擇器②高階選擇器

【16】CSS基礎(2)——選擇器②高階選擇器

技術標籤:前端學習中css

★文章內容學習來源:拉勾教育大前端就業集訓營

【16】CSS基礎(2)——選擇器②高階選擇器

目錄#接上篇
在這裡插入圖片描述


產生背景:
由於基礎選擇器不能實現所有選擇情況,比如:不想選擇所有標籤…class標籤定義過多…如何:儘量少的類名還能儘量選擇多的標籤?所以後期在基礎選擇器的基礎上衍生出了幾種高階選擇器。
組成:
高階選擇器的組成部分是基礎選擇器。


高階選擇器

(一)後代選擇器

1.含義及示例:

(1)也叫包含選擇器
(2)通過標籤之間存的巢狀關係(族譜關係)去選擇元素,基本組成部分就是基礎選擇器;
(3)★書寫方式∶空格表示後代,基礎選擇器中間使用空格分隔,空格前面的選擇器選中的標籤必須是後面選擇器選中標籤的祖先級。

(4)選擇範圍∶ 通過後代選擇器中前面的一系列基礎選擇器縮小選擇範圍,最終由最後一個選擇器確定選中的標籤。
注意∶ 後代選擇器必須滿足所有的後代關係才能夠被選中,後代關係不一定只能是父子關係,只要前面的是後面的祖先級即可。

示例


<DOCTYPE html>
<html>
    <head>
       <title>後代選擇器/包含選擇器示例</title>
       <style>
          .usual .exercise .run {
              font-size: 24px;
/*字號*/ color: blue; /*字型顏色*/ } .usual .diet p { color: red; /*字型顏色*/ } .usual p { /* 後代關係不一定是"父子" */ font-weight: bold;/*字型加粗*/ }
</style> </head> <body> <div class
="usual">
<div class="study"> <p>今天真開心</p> <p>學習使我快樂</p> <p>繼續加油</p> </div> <div class="exercise"> <p>今天做了瑜伽</p> <p class="run">跑了步</p> </div> <div class="diet"> <p>今天吃了大盤雞</p> <p>喝了胡蘿蔔汁</p> </div> </div> </body> </html>

)

2.特點

優點∶
減少class 屬性的定義使用,選擇效率更高。
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

(二)交集選擇器

1.含義及示例:

(1)通過一個標籤之上滿足所有的基礎選擇器的需求去選擇標籤;
(2)★書寫方式∶基礎選擇器進行連續書寫,如果有標籤選擇器參與交集,必須書寫在開頭;
★交集選擇器更多寫法:
①交集選擇器可以進行類名的連續交集,需要滿足更多的條件才能選中標籤;
②IE6 不支援類名連續交集寫法。

(3)選擇範圍∶選擇的是滿足所有基礎選擇器需求的標籤,如果一個條件不滿足都不能被選中;(跟數學中的交集概念一樣)
在這裡插入圖片描述
(4)比較常見的是標籤與類的交集。

示例


<DOCTYPE html>
<html>
    <head>
       <title>交集選擇器示例</title>
       <style>
          p.carrot  {   
              color:coral;  /*字型顏色*/
          }
          p.eat.chicken {  /*類名的連續交集*/
              color: red; 
          }
        div.exercise {
            font-weight: bold; /*字型加粗*/
        }
        .usual .study  p.fun {  /*最為其它高階選擇器(後代選擇器)的組成部分*/
            color: pink;
        }
       </style>
    </head>
    <body>
        <div class="usual">
            <div class="study">
               <p class="fun">今天真開心</p>
               <p>學習使我快樂</p>
               <p>繼續加油</p>
            </div>
            <div class="exercise">
                <p>今天做了瑜伽</p>
                <p class="run">跑了步</p>
            </div>
            <div class="diet">
                <p class="eat chicken">今天吃了大盤雞</p>
                <p class="eat carrot">喝了胡蘿蔔汁</p>
            </div>
        </div>
    </body>
</html>

在這裡插入圖片描述

2.特點/用途

(1)交集選擇器可以作為其他高階選擇器的組成部分。
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -

(三)並集選擇器

1.含義及示例:

(1)不同選擇器選中的元素都要設定相同的樣式,多次書寫相同的樣式屬性對程式碼造成浪費,可以將前面六種選擇器可以進行並集書寫,相當於一種簡化寫法;
(2)書寫方式∶將多個選擇器中間用逗號進行分隔,最後一個後面不能加逗號;
(3)選擇範圍∶是所有的單獨選擇器選中的標籤的並集集合。
示例

<DOCTYPE html>
<html>
    <head>
       <title>並集選擇器示例</title>
       <style>
              .exercise,.run {
                  color: red; 
              }
       </style>
    </head>
    <body>
        <div>
            <div>
               <p >今天真開心</p>
               <p>學習使我快樂</p>
               <p>繼續加油</p>
            </div>
            <div class="exercise">
                <p>今天做了瑜伽</p>
                <p class="run">跑了步</p>
            </div>
            <div>
                <p>今天吃了大盤雞</p>
                <p>喝了胡蘿蔔汁</p>
            </div>
        </div>
    </body>
</html>

在這裡插入圖片描述

2.特點/用途

(1)如果多個標籤具有公共樣式,但是不能用一個選擇器選中,可以使用並集寫法;
(2)可以使用標籤選擇器的並集寫法,進行預設樣式的清除,替換萬用字元的功能。(如下圖片段程式碼)

h2,body,ul,li,p {
     margin: 0;
     paddding: 0
}

★下篇繼續:CSS基礎(2)——選擇器③選擇器權重…