任務7-選擇器

class 和 id 的使用場景?

class意思就是“類” 是對一類標簽進行操作,是一種"范圍殺傷",而id選擇器具有唯一性,是“精確打擊”

CSS選擇器常見的有幾種?

  1. 基礎選擇器
    • id選擇器 具有唯一性
    • class選擇器 可重復
    • **  * 通用選擇器 給整個頁面都設定相關的樣式
    • 元素標簽選擇器
  2. 組合選擇器
    • 多元素選擇器 A,B,C{ 屬性 }
    • 后代選擇器 A B 匹配A元素范圍內的所有子元素B
    • 直接后代選擇器 A>B 首先B是A的子元素 其次是要 “直接” 就是只選擇 “一層”的意思
    • A+B 首先這兩個元素是同級的,其次這兩個要直接相鄰 是“親兄弟”才行
    • A~B 只要同級就可以 匹配A元素之后的同級元素B 相不相鄰都無所謂
  3. 屬性選擇器
    • A[attr] 匹配所有具有屬性attr的元素
    • A[attr=value] 匹配屬性值為value的元素
    • A[attr~=value] 匹配所有屬性attr具有多個空格分隔,其中一個值等于value的元素
    • A[attr^=value] 匹配屬性attr的值以value開頭的元素
    • A[attr$=value] 匹配屬性attr的值以value結尾的元素
    • A[attr*=value] 匹配屬性attr的值包含value的元素
  4. 偽類選擇器
    • A:first-child:匹配元素A的第一個子元素
    • A:link :匹配素有未被點擊的鏈接
    • A:visited :匹配所有已經被點擊的鏈接
    • A:active :匹配鼠標已經在其上按下,但是還沒有釋放的A元素
    • A:hover :匹配鼠標懸停其上的A元素
    • A:focus :匹配獲得當前焦點的A元素
    • A:lang(c) :匹配lang屬性等于c的元素
    • A:enabled :匹配表單中可用的元素
    • Adisabled :匹配表單中禁用的元素
    • A:checked: 匹配表單中被選中的radio或checkbox元素
    • A:selection: 匹配用戶當前選中的元素
    • A:root :匹配文檔的根元素,對于HTML文檔,就是HTML元素
    • A:nth-child(n) :匹配其父元素的第n個子元素,第一個編號為1
    • A:nth-last-child :匹配其父元素的第n個子元素,第一個編號為1
    • A:nth-of-type(n):與:nth-child作用類似,但是僅匹配使用同種標簽的元素
    • A:nth-last-of-type(n) :與nth-last-child作用相似,但是僅匹配使用同種標簽的元素
    • A:first-child:匹配父元素的第一個子元素
    • A:last-child :匹配父元素的最后一個子元素
    • A:first-of-type :即 A:nth-of-type(1)
    • A:last-of-type :即 A:nth-last-of-type(1)
    • A:only-child :匹配父元素下僅有的一個子元素
    • A:only-of-type :匹配父元素下使用同種標簽的唯一一個子元素
  5. 偽元素選擇器
    • A::first-line 匹配E元素內容的第一行

    • A::first-letter 匹配E元素內容的第一個字母

    • A::before 在E元素之前插入生成的內容

    • A::after 在E元素之后插入生成的內容

      *content:'';一定得帶上 *

選擇器的優先級是怎樣的?對于復雜場景如何計算優先級?

  • 優先級排序

    1. 帶有!important的值權重最高,覆蓋一切,但是要慎用!
    2. 行內樣式 直接把樣式與html代碼混在一起寫,這種方法寫出來的樣式,權重也很高,但 是最好不要用。
    3. ID選擇器 算是正常范圍選擇器內權重最高的了
    4. 類選擇器 也就是 class選擇器
    5. 偽類選擇器 類似于 a:hover a:fouces 這種的選擇器
    6. 屬性選擇器 操作input時常用 像 input[type="text"] {}就是屬性選擇器了
    7. 標簽選擇器 像這種 p{} 這種選擇器選擇范圍超級廣,但是老師叮囑過最好別用
    8. 通配符選擇器像這種 *{} 這種選擇器基本不用了
    9. 瀏覽器自帶樣式這種的話一般在寫頁面的時候都會被重置
  • 復雜場景下的選擇器優先級排序
    上一個小題已經說明了選擇器的優先級是怎么排的了,就我自己的理解來看,第一種第二種和第 八第九種在正常狀態下可以忽略了就,從id選擇器開始,給每個種類的選擇器的權限大小賦予 相應的計量單位,我自己分配的計量單位如下:

    1. id選擇器在篩選之后的選擇器中權重最高,所以給他的單位為“萬”
    2. class選擇器弱一點兒給它單位 “千”
    3. 偽類選擇器的單位是“百”
    4. 屬性選擇器的單位是“十”
    5. 標簽選擇器的單位是 “個”
      接著舉個栗子
    <!DOCTYPE html>
    

<html lang="en">
<head>
<meta charset="UTF-8" />
<title>看看權重</title>
<style>
p{
color: blue;
}
.yezhu{
color: red;
}
#yezhu-pro{
color: pink;
}
p.yezhu{
color: yellow;
}
#yezhu-pro.yezhu{
color: #257eb8;
}
/*
根據我的“個,十,百,千,萬論證法” 來看看怎么分權重
1.最高的無疑是最后一個選擇器了有一個id選擇器那就是1萬還有個類選擇器那就是1千合起來最后的權重值是11000
2.注釋掉最高的,那排第二的就是第三個選擇器了權重值10000,剩下的依次類推就可以了
*/
</style>
</head>
<body>
<p id="yezhu-pro" class="yezhu">這是一只野豬</p>
</body>
</html>
```

a:link, a:hover, a:active, a:visited 的順序是怎樣的? 為什么?

這三個為類選擇器的書寫順序為

a:link{}
a:visited{}
a:hover{}
a:active{}

之所以按這種順序寫是因為怕他們相互覆蓋,影響顯示效果

以下選擇器分別是什么意思?

#header{
}
/*選擇ID為header的元素*/

.header{
}
/*選擇class為header的元素*/

.header .logo{
}
/*選擇class為header的范圍內 類名為logo的元素*/

.header.mobile{
}
/*選擇既有header類又有mobile類的元素*/

.header p, .header h3{
}
/*給類名為header中的p和同樣范圍內的h3寫上相同的樣式*/

#header .nav>li{
}
/*id為header的范圍中,類名叫nav的元素里,把表層的li都選上,不進行 “擊穿式查找” */

#header a:hover{
}
/*給class叫header的范圍內里面的a標簽設一個hover為類*/

#header .logo~p{
}
/*選擇id為header的范圍面的class為logo的元素中p的所有所有所有同輩兄弟標簽*/

#header input[type="text"]{
}
/*在class為header的范圍內 選擇輸入框類型為text的輸入框 設定相應的樣式*/



列出你知道的偽類選擇器

  1. a:link 匹配所有未被點擊的鏈接
  2. a:visited 匹配所有已被點擊的鏈接
  3. a:active 匹配鼠標已經其上按下、還沒有釋放的E元素
  4. a:hover 匹配鼠標懸停在上面時所產生的變化
  5. a:enabled 匹配表單中可用的元素
  6. a:disabled 匹配表單中禁用的元素
  7. a:checked 匹配表單中被選中的radio或checkbox元素
  8. a::selection 匹配用戶當前選中的元素
  9. a:nth-child(n) 匹配其父元素的第n個子元素,第一個編號為1
  10. a:nth-last-child(n) 匹配其父元素的倒數第n個子元素,第一個編號為1
  11. a:nth-of-type(n) 與:nth-child()作用類似,但是僅匹配使用同種標簽的元素
  12. a:nth-last-of-type(n) 與:nth-last-child() 作用類似,但是僅匹配使用同種標簽的元素

div:first-child、div:first-of-type的作用和區別

作用
div:first-child 選中其父元素下第一個子元素
div:first-of-type 選中其父元素下使用相同標簽的第一個子元素

區別
這兩種方式容易混淆,但是也容易區分,主要是要記住這兩種選擇器的選擇依據,第一種是以子元 素數量作為依據進行選擇,第二種是以標簽為依據進行選擇在相同的標簽中進行排位選擇

運行如下代碼,解析下輸出樣式的原因。

<style>
.item1:first-child{
  color: red;
}
.item1:first-of-type{
  background: blue;
}
</style>
 <div class="ct">
   <p class="item1">aa</p>
   <h3 class="item1">bb</h3>
   <h3 class="item1">ccc</h3>
 </div>

顯示結果為 aa文字顏色為紅色,背景為藍色,bb文字顏色為黑色背景蔚藍色,ccc沒有任何變化

原因

第一個樣式選擇器選的是將排序為第一的樣式名為item1的元素里面的文字變成紅色。

第二個選擇器的意思是首先選擇元素的位置也是選第一個元素不過不同在于是選擇使用item1類名并且標簽也是第一個的元素,確定范圍之后進行篩選首先確定使用item1的元素有1個P標簽2個h3標簽,結果是選第一個p標簽(其實就一個p標簽也不用怎么選....),和第一個h3標簽。最終結果就出來了。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,333評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,491評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,263評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,946評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,708評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,186評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,255評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,409評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,939評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,774評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,976評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,518評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,209評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,641評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,872評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,650評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,958評論 2 373

推薦閱讀更多精彩內容

  • 一、CSS選擇器常見的有幾種? 基本選擇器 通配選擇器~選擇文檔中所有的html元素,用一個*表示 元素選擇器~選...
    dengpan閱讀 975評論 0 3
  • 1.class 和 id 的使用場景? 類選擇器允許以一種獨立于文檔元素的方式來指定樣式。該選擇器可以單獨使用,也...
    草鞋弟閱讀 2,442評論 0 1
  • 1.class 和 id 的使用場景? 多個標簽可以使用同一個class,一個id只能對應一個標簽 2.CSS選擇...
    molly的紅草帽閱讀 365評論 0 0
  • 1.class 和 id 的使用場景? 兩者都能選取DOM節點并給DOM節點添加樣式,但是W3C標準里規定頁面中只...
    饑人谷_米彌輪閱讀 410評論 0 1
  • 感賞彩羽今天一早就帶上作業去補習班了! 感賞彩羽對學習充滿著熱情! 感賞彩羽對妹妹友愛,會拿蛋糕給妹妹! 感賞彩羽...
    無心言歡閱讀 179評論 0 0