31. 偽類和偽元素區別

總結

  1. 選擇對象不同
內容說明
偽類作用對象元素的狀態或位置
偽元素作用對象元素的一部分內容或虛擬內容
是否新增節點均不新增節點
常用符號:(偽類)、::(偽元素)
推薦場景偽類用于交互與狀態控制;偽元素用于樣式修飾與內容插入

31. 偽類和偽元素的區別

一、基本定義

類型定義
偽類(Pseudo-class)用于表示元素的某種狀態或位置,如鏈接的點擊狀態、鼠標懸停、第一個子元素等。
偽元素(Pseudo-element)用于選擇元素的某一部分內容或虛擬部分,如首字母、首行、插入內容等。

二、核心區別對比表

對比維度偽類(Pseudo-class)偽元素(Pseudo-element)
表示符號單冒號 :雙冒號 ::(部分舊寫法也用單冒號)
作用對象元素本身的狀態或位置元素的某一部分或虛擬內容
是否新增 DOM 節點? 不新增節點? 不新增節點(但創建虛擬內容)
是否可交互? 可以觸發交互(如 :hover:active? 不可交互(僅樣式控制)
是否可被腳本訪問? 可以通過 JS 控制? 無法通過 JS 控制(非真實 DOM)
常見示例:hover:nth-child():focus::before::after::first-line

三、常見偽類示例

偽類描述
:hover鼠標懸停時的狀態
:active元素被激活時(如點擊)
:focus元素獲得焦點時
:visited已訪問的鏈接
:first-child第一個子元素
:last-child最后一個子元素
:nth-child(n)第 n 個子元素
:not(selector)排除某個選擇器匹配的元素
示例:
a:hover {color: red;
}li:nth-child(odd) {background-color: #f0f0f0;
}

四、常見偽元素示例

偽元素描述
::before在元素內容前插入內容
::after在元素內容后插入內容
::first-line選擇元素的第一行文本
::first-letter選擇元素的第一個字符
::selection選擇用戶選中的文本部分
::placeholder輸入框的占位符文本
示例:
p::first-letter {font-size: 2em;float: left;
}.button::after {content: " ?";color: blue;
}

五、使用場景對比

場景推薦方式說明
鼠標懸停效果:hover實現按鈕、鏈接的交互效果
列表奇偶行樣式:nth-child()表格、列表的視覺優化
插入裝飾內容::before / ::after圖標、提示、裝飾性內容
首字下沉效果::first-letter文章、雜志類頁面美化
自定義選中樣式::selection提升用戶選中文本的視覺體驗
表單占位符美化::placeholder統一輸入框風格

六、注意事項

注意點說明
::before::after 必須配合 content使用否則不會顯示
偽類可以組合使用a:hover::after 是合法的
偽元素不能綁定事件因為不是真實 DOM
雙冒號是標準寫法用于區分偽類和偽元素(但瀏覽器兼容舊寫法)

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

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

相關文章

ChatGPT、Playground手動模擬Agent摘要緩沖混合記憶功能

01. 摘要緩沖混合記憶 摘要緩沖混合記憶中,所需的模塊有: chat_message_history:存儲歷史消息列表。moving_summary_buffer:移除消息的匯總字符串。summary_llm:生成摘要的 LLM,接收 summary(…

全國青少年信息素養大賽(無人飛行器主題賽(星際迷航)游記)

作者 FHD_WOLF 發布時間 2025-07-30 21:31 分類 生活游記 騎你的 白馬啊 行你欲行的路 風吹來 花落涂 點一欉香祈求 ---------萬千花蕊慈母悲哀從考場出來,剩下的只有無盡極樂 考前準備: 1.電腦充電。 (這個賽項需要自帶設備&#x…

Kubernetes (K8s) 部署資源的完整配置OceanBase

Kubernetes Deployment 配置(oceanbase-deployment.yaml) # oceanbase-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata:name: oceanbase-deployment spec:replicas: 1selector:matchLabels:app: oceanbasetemplate:metadata:labels:app…

ACS-電機控制Buffer-任意路徑規劃(PVSPLINE繪制圓形)

該程序是一個雙軸運動,繪制圓形 原始程序(可以直接使用) GLOBAL INT X1,Y1,ii GLOBAL REAL MY_ARRAY(4)(12) GLOBAL REAL piX1 0; Y1 1 ! Axis assignment pi ACOS(-1) ! Shortcut for generating piii 0 LOOP 12MY_ARRAY(0)(ii) COS(…

MongoDB Change Streams 實時數據變更流處理實戰指南

MongoDB Change Streams 實時數據變更流處理實戰指南 業務場景描述 在大型電商平臺或高并發的在線系統中,業務數據的變更(如訂單狀態、庫存變動、用戶行為日志)需要實時通知下游系統,以便做流式分析、緩存更新或消息推送。傳統的輪…

TIME WEAVER: A Conditional Time Series Generation Model論文閱讀筆記

TIME WEAVER: A Conditional Time Series Generation Model 摘要 想象一下,根據天氣、電動汽車的存在和位置生成一個城市的電力需求模式,這可以用于在冬季凍結期間進行容量規劃。這樣的真實世界的時間序列通常包含配對的異構上下文元數據(天氣…

Day 4-2: PyTorch基礎入門 - 從NumPy到深度學習的橋梁

Day 4-2: PyTorch基礎入門 - 從NumPy到深度學習的橋梁 ?? 核心概念(5分鐘理解) 一句話定義 PyTorch是Facebook開發的深度學習框架,將NumPy的數組計算能力擴展到GPU,并加入了自動微分功能,讓構建和訓練神經網絡變得簡單直觀。 為什么重要 GPU加速:比CPU快10-100倍的矩…

法式基因音響品牌SK(SINGKING AUDIO)如何以硬核科技重塑專業音頻版圖

在專業音響的競技場,當多數品牌還在功率參數上纏斗時,一個流淌著法蘭西血液的品牌——SK(SINGKING AUDIO),早已構建起令人仰望的技術巔峰。它完美詮釋了真正的聲學藝術:不是技術的炫耀,而是讓尖…

ZooKeeper學習專欄(五):Java客戶端開發(原生API)詳解

文章目錄前言一、核心類解析1.1 ZooKeeper類 - 連接管理核心1.2 Watcher接口 - 事件處理核心二、原生API實踐2.1 創建會話(連接管理)2.2 創建節點(支持多種類型)2.3 獲取節點數據和狀態信息2.4 修改節點數據(版本控制&…

卸油管鏈接檢測誤報率↓76%:陌訊多模態融合算法實戰解析

原創聲明本文為原創技術解析,核心技術參數與架構設計引用自《陌訊技術白皮書》,禁止未經授權的轉載與商用。一、行業痛點:卸油管鏈接檢測的三大技術瓶頸在石化倉儲與運輸場景中,卸油管鏈接的密封性檢測是保障安全生產的關鍵環節。…

MongoDB用戶認證authSource

文章目錄authSource遇到的問題authSource MongoDB用戶認證邏輯與以往我認知的關系型數據庫邏輯不太一樣,多了一層用戶與數據庫關系的綁定。 在建立用戶時,需要先指定數據庫,則存在一個概念:用戶歸屬于數據庫。額外,依…

插件升級:Chat/Builder 合并,支持自定義 Agent、MCP、Rules

TRAE 插件全新升級,Chat、Builder 合并,支持自定義智能體、MCP 及自定義規則,體驗對齊 IDE,現已上線 JetBrains 和 VSCode。 1. Chat/Builder 合并,一個對話框即可智能協作 在 TRAE 插件的 Chat 對話框中&#xff0…

【歷史人物】【王安石】簡歷與生平

目錄 一、王安石個人簡歷 二、個人主要經歷 三、個人成就及影響 1、散文 2、詩歌 3、詞 四、經典評價摘錄 一、王安石個人簡歷 基本信息? 姓名:王安石,字介甫,號半山。小名獾郎 性別:男 年齡:1021年-1086年…

Codeforces Round 1040 (Div. 2) A - D題詳細題解

本文為Codeforces Round 1040 (Div. 2) A - D題的詳細題解, 覺得有幫助或者寫的不錯可以點個贊! 目錄 題目A: 題目大意: 解題思路: 代碼(C): 題目B: 題目大意: 解題思路: 代碼(C): 題目C: 題目大意: 解題思路: 代碼(C): 題目D: 題目大意: 解題思路:…

數據結構 之 【排序】(計數排序)

目錄 1.計數排序的思想 2.計數排序圖解 3.計數排序代碼邏輯 3.1求原數組最大最小值及計數數組的創建 3.2計數 3.3覆蓋寫 3.4釋放資源 4.計數排序的注意事項 5.計數排序的時間復雜度與空間復雜度 以升序為例 1.計數排序的思想 前面我們學習的快排、歸并排序、希爾排序.…

Ascend CANN/ACL API 模型部署加速最佳實踐

1. 模型輸入相關問題 圖像尺寸信息 模型輸入尺寸由原始模型決定,在轉換時固定 圖像尺寸信息是模型固有屬性,不是轉換時添加的 對于使用動態尺寸,可以在推理時自動根據當前的輸入尺寸推導輸出尺寸。 輸入格式(NCHW/NHWC) --input_format 不同框架默認格式不同: Caffe: 支持…

QT信號和槽怎么傳輸自己定義的數據結構

在 Qt 中,信號(Signal)和槽(Slot)機制默認支持許多內置類型(如 int、QString、QList 等),但如果要傳輸 自定義數據結構(如結構體、類對象),需要額…

借助于llm將pdf轉化為md文本

pdf轉化為md格式后,意味著非結構化文本轉為結構化文本,能清晰定位大標題、子標題,圖表。 方便后續處理,因為llamaindex和langchain能更有效切分md類文本,避免信息丟失。 1)讀取pdf為txt 讀取pdf&#xf…

設計模式:中介者模式 Mediator

目錄前言問題解決方案結構代碼前言 中介者是一種行為設計模式,能讓你減少對象之間混亂無序的依賴關系。該模式會限制對象之間的直接交互,迫使它們通過一個中介者對象進行合作。 問題 假如你有一個創建和修改客戶資料的對話框, 它由各種控件…

計算機基礎速通--數據結構·線性表應用

如有問題大概率是我的理解比較片面,歡迎評論區或者私信指正。 考察線性表,核心圍繞其存儲結構特性、核心操作實現、場景應用選型三大維度,重點檢驗對基礎概念的理解、代碼實現能力及問題分析能力,通常會結合算法設計、復雜度分析和…