日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

重学前端学习笔记(二十二)--选择器的机制

發布時間:2023/11/29 HTML 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 重学前端学习笔记(二十二)--选择器的机制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

筆記說明

重學前端是程劭非(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

總結

以上是生活随笔為你收集整理的重学前端学习笔记(二十二)--选择器的机制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。