重学前端学习笔记(二十二)--选择器的机制
筆記說明
重學前端是程劭非(winter)【前手機淘寶前端負責人】在極客時間開的一個專欄,每天10分鐘,重構你的前端知識體系,筆者主要整理學習過程的一些要點筆記以及感悟,完整的可以加入winter的專欄學習【原文有winter的語音】,如有侵權請聯系我,郵箱:kaimo313@foxmail.com。
一、引言
本文講一講選擇器的幾個機制:選擇器的組合、選擇器的優先級和偽元素。
二、選擇器的組合
2.1、選擇器列表
選擇器列表:用逗號分隔的復雜選擇器序列;復雜選擇器則是用空格、大于號、波浪線等符號連接的復合選擇器;復合選擇器則是連寫的簡單選擇器組合。
2.2、優先級
- 第一優先級
- 無連接符號
- 第二優先級
- 空格
- ~
- +
- >
- ||
- 第三優先級
- ,
2.3、復雜選擇器的連接符號
- 空格:表示選中所有符合條件的后代節點。(后代)
- >:表示選中符合條件的子節點。(子代)
- ~:表示選中所有符合條件的后繼節點,后繼節點即跟當前節點具有同一個父元素,并出現在它之后的節點。(后繼)
- +:表示選中符合條件的直接后繼節點,直接后繼節點即 nextSlibling。(直接后繼)
- ||:表示選中對應列中符合條件的單元格。(列選擇器)
三、選擇器的優先級
CSS 標準用一個三元組 (a, b, c) 來構成一個復雜選擇器的優先級。CSS 建議用一個足夠大的進制,獲取“ a-b-c ”來表示選擇器優先級。
// base 是一個"足夠大"的正整數 specificity = base * base * a + base * b + c 復制代碼- id 選擇器的數目記為 a
- 偽類選擇器和 class 選擇器的數目記為 b
- 偽元素選擇器和標簽選擇器數目記為 c
- “*” 不影響優先級。
注意:行內屬性的優先級永遠高于 CSS 規則,瀏覽器提供了一個口子就是添加!important。該優先級會高于行內屬性。同一優先級的選擇器遵循后面的覆蓋前面的原則。
四、偽元素
偽元素本身不單單是一種選擇規則,它還是一種機制。
- ::first-line
- ::first-letter
- ::before
- ::after
4.1、::first-line 和 ::first-letter
代碼測試連接:codepen.io/pen/
1、::first-line
<p> kaimo is good boy.but sometime not. </p> 復制代碼p::first-line {text-transform: uppercase } 復制代碼注意:排版后顯示的第一行字母變為大寫。跟 HTML 代碼中的換行無關。
2、::first-letter
p::first-letter {text-transform: uppercase;font-size:2em;float:left; } 復制代碼3、::first-line必須出現在最內層的塊級元素內。
<div><p id="a">kaimo is good boy.</p><p>but sometime not.</p> </div> 復制代碼div>p#a {color: green; } div::first-line {color: hotpink; } 復制代碼如果將p標簽替換成span標簽
<div><span id="a">kaimo is good boy.</span><span>but sometime not.</span> </div> 復制代碼div>span#a {color: green; } div::first-line {color: hotpink; } 復制代碼如果你理解了出現三種顏色的原因,那就證明你清楚明白了。
4、::first-letter 出現在所有標簽之內
<div><span id="a">kaimo is good boy.</span><span>but sometime not.</span> </div> 復制代碼div>span#a {color: green; } div::first-letter {color: hotpink; } 復制代碼5、相關屬性
4.2、::before 和 ::after
::before 表示在元素內容之前插入一個虛擬的元素,::after 則表示在元素內容之后插入。
兩個偽元素必須指定 content 屬性才會生效。
個人總結
另外補充一下:可以查看MDN 偽類(pseudo-class)developer.mozilla.org/zh-CN/docs/…_(:3」∠)_。。。
轉載于:https://juejin.im/post/5ce3fc91f265da1bd522a3a3
總結
以上是生活随笔為你收集整理的重学前端学习笔记(二十二)--选择器的机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做梦梦到好几家结婚的
- 下一篇: 使用Chrome浏览器自动下载文件并保存