60 個 CSS 選擇器,一網打盡!

CSS 選擇器用于選擇 HTML 元素并將樣式應用于它們。使用這些選擇器,可以定義特定條件下應用哪些樣式。除了普通的選擇器外,還有偽類和偽元素,用于選擇具有特定狀態或特定部分的元素,并將樣式應用于它們。本文將通過圖文并茂的方式展示這些選擇器的使用方法!

選擇器

1、通用選擇器

通用選擇器使用 * 來選擇全部元素。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

2、元素選擇器

同于選擇指定 HTML 元素。

3、類選擇器

選擇具有指定類名的所有元素。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

4、ID選擇器

選擇具有指定ID的元素。

5、組合選擇器

連接兩個或多個類名或 ID,以選擇具有所有指定類名/ID的元素。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

6、多重選擇器

使用逗號將多個選擇器聲明分開,這樣可以很容易地將相同的樣式應用于多個選擇器聲明。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

7、后代選擇器

后代選擇器表示選擇某個元素的所有后代元素,即位于該元素內部的所有子孫元素。在使用后代選擇器時,在兩個選擇器之間加上一個空格,表示前一個選擇器所選中的元素中包含的后代元素。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

8、相鄰選擇器

相鄰選擇器用于選擇緊接在另一個元素后面的直接相鄰兄弟元素的選擇器,使用加號(+)作為組合符號,將兩個選擇器連接起來。它選擇的是位于第一個選擇器后緊鄰的同級元素。

9、子選擇器

子選擇器用于選擇某個元素的直接子元素,使用大于號(>)作為組合符號,將兩個選擇器連接起來。它選擇的是父級元素下的直接子元素,即元素樹結構中的一級關系。

10、通用兄弟選擇器

通用兄弟選擇器使用波浪號(即通用兄弟組合符)來選擇在第一個選擇器之前的所有元素,而不要求它們是第一個選擇器的直接兄弟元素。

11、貓頭鷹選擇器

貓頭鷹選擇器用于選擇所有具有前置兄弟元素的元素,用來在一個容器內的元素之間添加間距,但不包括第一個元素,因為第一個元素沒有前置兄弟元素。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

12、屬性選擇器

屬性選擇器用于選擇具有特定屬性的元素。

  • 使用[attribute]來選擇所有具有 attribute 屬性的元素:

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

  • 使用 [attribute=value] 來選擇具有指定屬性及屬性值的元素:

  • 使用 [attribute~=value] 來選擇具有指定屬性,并且該屬性的多個值中包含給定值的元素:

  • 使用 [attribute*=value] 來選擇具有指定屬性,并且該屬性的值中包含特定部分值的元素。

  • 使用 [attribute^=value] 來選擇具有指定屬性,并且該屬性的值以給定值開頭的元素。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

  • 使用 [attribute$=value] 來選擇具有指定屬性,并且該屬性的值以給定值結尾的元素。

偽類

1、鏈接偽類選擇器

這 4 個偽類用于選擇鏈接處于不同狀態的元素。它們最常與鏈接一起使用,但是 :active 也適用于按鈕,而 :hover 可以用于各種元素:

  • :link:選取未被訪問過的鏈接,用于為用戶尚未點擊的超鏈接設置樣式。
  • :visited:選取已經被用戶訪問過的鏈接,用于為用戶之前點擊過的超鏈接設置樣式。
  • :hover:當用戶指針(例如鼠標光標)懸停在某些元素(通常是鏈接)上時,選取這些元素。
  • :active:在元素(通常是鏈接或按鈕)被激活時,例如用戶點擊它們的瞬間,選取這些元素。

這 4 個偽類可用于提高用戶交互性,例如增加鏈接的可見度,使其更加顯著突出,從而改善用戶體驗。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

2、:focus 偽類

:focus 偽類用于選擇當前獲得焦點的元素。當用戶與網頁上的表單元素進行交互時,可以通過點擊或鍵盤導航,使某個特定的輸入框處于焦點狀態。這意味著用戶的輸入將直接應用到該輸入框上。

3、:checked 偽類

:checked 偽類用于選擇當前被選中或選擇的單選按鈕、復選框或 select 元素的選項。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

4、:disabled 偽類

:disabled 偽類用于匹配被禁用的表單元素,例如按鈕或文本輸入框。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

5、:enabled 偽類

:enabled 偽類用于匹配可以交互和接收輸入的表單元素。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

6、:valid 偽類

:valid 偽類用于選擇具有與其屬性(如 pattern、type 等)所指定要求相匹配的內容的輸入元素。

當 input 元素的內容符合其屬性所指定的要求時,可以使用 :valid 偽類選擇它們。

7、:invalid 偽類

:invalid 偽類用于選擇具有內容不符合要求的輸入元素。

當input元素的內容不符合其要求時,可以使用 :invalid 偽類來選擇它們。

8、:required 偽類

:required 偽類用于選擇具有 required 屬性的輸入元素,該屬性表示在提交表單之前必須填寫它們。

當 input 元素具有 required 屬性時,可以使用 :required 偽類選擇它們。

9、:optional 偽類

:optional 偽類用于選擇沒有 required 屬性的輸入元素,這意味著它們不是必填項。

當input 元素沒有 required 屬性時,可以使用 :optional 偽類選擇它們。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

10、:first-child 偽類

:first-child 偽類用于選擇父元素中的第一個子元素。

11、:last-child 偽類

:last-child 偽類用于選擇父元素中的最后一個子元素。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

12、:nth-child 偽類

:nth-child 偽類根據元素在父元素中的位置進行選擇,允許進行各種選擇。:nth-child 還可以自定義模式選擇元素:

  • :nth-child(odd) 或 :nth-child(2n+1) 選擇每個奇數位置的子元素
  • :nth-child(even) 或 :nth-child(2n) 選擇每個偶數位置的子元素

公式中的 n 就像一個計數器,可以按重復周期選擇元素。例如,:nth-child(3n) 將選擇每三個元素。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

13、:nth-last-child 偽類

:nth-last-child 偽類與 :nth-child 類似,但是從最后一個子元素向后計數。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

14、:only-child 偽類

當需要選擇在其父級元素中唯一的一個子元素時,可以使用 :only-child 偽類。

15、:first-of-type 偽類??

:first-of-type 偽類選擇在其父元素中的特定類型的元素中的第一個元素。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

16、:last-of-type 偽類

:last-of-type 偽類選擇在其父元素中的特定類型的元素中的最后一個元素。

17、:nth-of-type 偽類

當需要根據元素在兄弟元素中的類型和位置選擇元素時,可以使用 :nth-of-type 偽類。

18、:nth-last-of-type 偽類

:當需要根據元素在兄弟元素中的類型和位置選擇元素,并且從末尾開始計數時,可以使用 :nth-last-of-type 偽類。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

19、:only-of-type 偽類

當需要選擇在其兄弟元素中為特定類型的元素僅有一個的元素時,可以使用 :only-of-type 偽類。

20、:target 偽類

:target 用于選擇具有與 URL 片段匹配的 ID 屬性的元素。URL 片段是指 URL 中的 # 符號后面的部分。當從頁面中的鏈接點擊跳轉到帶有特定片段的 URL 時,:target 偽類將會被應用于與片段匹配的對應元素上。這樣可以利用 :target 來為被直接鏈接到的頁面部分設置不同的樣式,從而提供視覺上的反饋和突出顯示。

21、:not() 偽類

使用 :not() 偽類可以選擇不符合指定選擇器或條件的元素。這在需要排除某些特定元素時非常有用。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

22、has() 偽類

使用 :has() 偽類可以選擇包含某個特定元素或選擇器的父級元素,并為其應用樣式。

23、其他偽類

除了上面提到的偽類,CSS中還包含以下偽類:

  • :root:選擇文檔中最高級別的父元素,通常是HTML文檔中的 元素。可用于定義對所有頁面元素可用的CSS變量。
  • :is():匹配可以是多個選擇器之一的元素,使得長的選擇器列表更加簡短和易讀。例如,:is(h1, h2, h3) 會匹配這三個標題元素之一。
  • :where():與 :is() 類似,但允許根據條件選擇元素,而不影響選擇器的特異性。
  • :default:匹配設置為默認選擇狀態的用戶界面元素(如單選按鈕或復選框)。
  • :empty:選擇沒有子元素(包括文本節點)的元素。
  • :fullscreen:選擇當前以全屏模式顯示的元素。
  • :in-range:匹配值在指定范圍內的表單元素(使用 min 和 max 屬性指定范圍)。
  • :out-of-range:匹配值在指定范圍之外的表單元素。
  • :indeterminate:選擇狀態不確定的表單元素,例如既未選中也未取消選中的復選框(在樹狀結構中經常見到)。
  • :read-only:匹配由于 readonly 屬性而不可編輯的表單元素。
  • :read-write:選擇可由用戶編輯的表單元素,意味著它們不是只讀的。
  • :lang():根據元素的語言屬性進行匹配。例如,:lang(en) 選擇使用英語定義的元素。

三、偽元素

1、::before 偽元素

::before 偽元素用于在元素內容之前插入內容。它可以用于添加裝飾性內容、圖標或其他不需要出現在實際 DOM 中的元素。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

2、::after 偽元素

::after 偽元素與 ::before 偽元素類似,用于在元素的內容之后插入內容。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

3、::first-letter 偽元素

::first-letter 偽元素用于選擇并修改塊級元素的第一個字母,從而應用特定的樣式。這個偽元素只能選擇每個塊級元素的第一個字母,并且僅在有文本內容的時候生效。

4、::first-line 偽元素

::first-line 偽元素用于選擇并修改塊級元素的第一行,從而應用特定的樣式。這個偽元素只能選擇每個塊級元素的第一行,并且僅在有文本內容的時候生效。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

5、::placeholder 偽元素

::placeholder 偽元素用于選擇并修改表單字段的占位符文本,從而應用特定的樣式。占位符文本是在用戶未輸入任何內容時顯示的默認文本。

6、::selection 偽元素

::selection 偽元素用于選擇并修改用戶所選文本的樣式。可以應用于包含文本內容的任何元素,如段落、標題、按鈕等。

7、::marker 偽元素

::marker 偽元素用于為列表項中的標記符設置樣式,這些標記符通常包含無序列表的項目符號或有序列表的數字/字母。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

8、其他偽元素

除了上述偽元素之外,CSS 還提供了以下偽元素:

  • ::file-selector-button:用于選擇文件的按鈕元素的偽元素。它可以用來樣式化文件上傳控件中的選擇按鈕。
  • ::cue:用于樣式化媒體元素(如音頻或視頻)中的字幕或注釋的偽元素。可以用來設置字幕的樣式,比如字體、顏色等。
  • ::part():用于自定義 Web 組件的內部部件的偽元素。它可以針對組件的具體部分應用樣式,并通過組件的 shadow DOM 提供的 Custom Elements API 進行訪問。
  • ::slotted():用于樣式化插槽內容的偽元素。插槽是一種在 Web 組件中用于插入內容的機制,::slotted() 可以應用樣式到被插入的內容,以實現更精確的樣式控制。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/713752.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/713752.shtml
英文地址,請注明出處:http://en.pswp.cn/news/713752.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Windows11家庭版安裝Docker

文章目錄 安裝Docker安裝hyper-v繼續解決報錯完成效果圖進一步測試是否完成安裝 安裝Docker windows如何安裝docker 裝好之后,我打開報錯。 安裝hyper-v 按這個視頻操作:Windows 11 家庭版安裝 Hyper-V bat文件里的代碼是: pushd "…

【Educoder數據挖掘實訓】異常值檢測-3σ法

【Educoder數據挖掘實訓】異常值檢測-3σ法 開挖! 這個異常值檢測基于的是兩點: 數據往往遵循正態分布在正態分布中, [ μ ? 3 σ , μ 3 σ ] [\mu - 3\sigma, \mu 3\sigma] [μ?3σ,μ3σ]包含了正態分布中 99.74 % 99.74\% 99.74%的數…

【投稿優惠|快速見刊】2024年圖像,機器學習和人工智能國際會議(ICIMLAI 2024)

【投稿優惠|快速見刊】2024年圖像,機器學習和人工智能國際會議(ICIMLAI 2024) 重要信息 會議官網:http://www.icimlai.com會議地址:深圳召開日期:2024.03.30截稿日期:2024.03.20 (先…

2024全國水科技大會暨高氨氮廢水厭氧氨氧化處理技術論壇(四)

一、會議背景 為積極應對“十四五”期間我國生態環境治理面臨的挑戰,加快生態環境科技創新,構建綠色技術創新體系,全面落實科學技術部、生態環境部等部委編制的《“十四五”生態環境領域科技創新專項規劃》,積極落實省校合作&…

pip下載paddle、sklearn、cv2問題

ModuleNotFoundError: No module named ‘paddle‘ ModuleNotFoundError: No module named sklearn No matching distribution found for cv2 Could not build wheels for opencv-python, which is required to install pyproj

什么是BGP網絡 (邊界網關協議)

BGP(邊界網關協議)是一種用于在互聯網中交換路由信息的協議。作為網關或路由器之間的協議,BGP主要用于幫助確定數據包在網絡中的路徑。它通過在不同自治系統(AS)之間交換路徑信息,實現了全球互聯網網絡的連…

MySQL進階之(三)InnoDB數據存儲結構之數據頁結構

三、InnoDB數據存儲結構之數據頁結構 3.1 數據庫的存儲結構3.1.1 MySQL 數據存儲目錄3.1.2 頁的引入3.1.3 頁的概述3.1.4 頁的上層結構 3.2 數據頁結構3.2.1 文件頭和文件尾01、File Header(文件頭部)02、File Trailer(文件尾部) …

【JavaEE】_Spring Web MVC簡介

目錄 1. Spring Web MVC簡介 2. MVC簡介 3. Spring MVC 1. Spring Web MVC簡介 官網對于Spring Web MVC的介紹如下: 鏈接如下: https://docs.spring.io/spring-framework/reference/web/webmvc.html#https://docs.spring.io/spring-framework/refer…

將SU模型導入ARCGIS,并獲取高度信息,多面體轉SHP文件(ARCMAP)

問題:將Sketchup中導出的su模型,導入arcgis并得到面shp文件,進而獲取各建筑的高度、面積等信息。 思路: (1)導入arcgis得到多面體 (2)轉為面shp文件 (3)計算高度/面積等 1、【3D Analyst工具】【轉換】【由文件轉出】【導入3D文件】(在此步驟之間,建議先建立一個…

棧和隊列OJ題

文章目錄 一、雙隊列實現棧二、雙棧實現隊列 一、雙隊列實現棧 題目鏈接: https://leetcode.cn/problems/implement-stack-using-queues/description/ 題目分析: 棧的結構是后進先出,而隊列的結構是先進先出,我們利用這個性質&a…

AI Word Helper (Chorme Extentions) AI單詞助手(谷歌瀏覽器插件)

AI Word Helper (Chorme Extentions) AI單詞助手(谷歌瀏覽器插件) 英文網站,劃詞查單詞,還是看不懂?因為單詞意思那么多,詞性搞不清,上下文搞不清,出來的意思就沒法用,G…

一個基于輪詢的廣告系統

無論PC 客戶端還是手機客戶端,可能會遇到需要發布一些廣告,這些廣告可能是自己開發的,可能是三方的,而且希望是比較通用,能隨時發布,隨時就能看到效果。 本文提供了一種基于輪詢的廣告系統,主要…

【服務器數據恢復】昆騰存儲中raid5磁盤陣列數據恢復案例

服務器數據恢復環境&故障: 10個磁盤柜,每個磁盤柜配24塊硬盤。9個磁盤柜用于存儲數據,1個磁盤柜用于存儲元數據。 元數據存儲中24塊硬盤,組建了9組RAID1陣列1組RAID10陣列,4個全局熱備硬盤。 數據存儲中&#xff0…

Java基于springboot的個人理財系統

基于springboot的個人理財系統 摘要 隨著信息技術在管理上越來越深入而廣泛的應用,管理信息系統的實施在技術上已逐步成熟。本文介紹了個人理財系統的開發全過程。通過分析個人理財系統管理的不足,創建了一個計算機管理個人理財系統的方案。文章介紹了個…

多人音視頻實時通訊架構

直播中的協議與格式 在直播系統中,協議和格式的選擇對于傳輸效率、畫面質量和用戶體驗都至關重要。以下是直播中常見的協議與格式: 協議 RTSP (Real Time Streaming Protocol) RTSP是一個網絡流媒體協議,常用于視頻監控和IPTV等場景。它本身…

考研機試C++題目精選

更多內容會在godownio.github.io更新 算法練習(C代碼) 考研上機或C語言代碼筆試準備,暨大機試原題letcode牛客中南大等高校機試 快速冪算法 題目:輸入一個整數 n ,求 n^n 的個位數是多少。 快速冪算法:…

面經分享|面了好未來NLP算法崗(實習),經歷坎坷但值了!

節前,我們組織了一場算法崗技術&面試討論會,邀請了一些互聯網大廠同學、參加社招和校招面試的同學,針對大模型技術趨勢、大模型落地項目經驗分享、新手如何入門算法崗、該如何備戰、面試常考點分享等熱門話題進行了深入的討論。 今天我分…

【復試2.293.1】c語言——基礎雜項

1.define定義常量類似全局變量,引用是直接拼到代碼中去。 2.關于e 3.參數傳遞 形參直接接收的是數組的起始地址 4.數組越界亂碼問題 5.scanf讀字符串的時候會自動在末尾放0(結束符 6.scanf是讀取輸入緩沖區的數據,是一種拿走操作。讀取若有…

文本多分類

還在用BERT做文本分類?分享一套基于預訓練模型ERNIR3.0的文本多分類全流程實例【文本分類】_ernir 文本分類-CSDN博客 /usr/bin/python3 -m pip install --upgrade pip python3-c"import platform;print(platform.architecture()[0]);print(platform.machine…

C語言實現航班管理

航班管理系統&#xff0c;用C語言實現&#xff0c;可以作為課程設計&#xff0c;代碼如下&#xff1a; #include<iostream> #include<fstream> #include<vector> #include<string> #include<stdlib.h> using namespace std; //信息基類 clas…