CSS - Pseudo-classes(偽類選擇器)

目錄

  • 一、介紹
  • 二、常用種類
  • 三、案例實現
    • 案例一:a標簽使用link/visited/hover/active
    • 案例二:表單元素使用focus/disabled
    • 案例三、通過其余偽類實現元素靈活選中

一、介紹

CSS 偽類(Pseudo-classes) 用于定義元素的特定狀態結構位置,從而允許你為這些特殊場景添加樣式。偽類以冒號 : 開頭,附加在選擇器后

/* 舉例 */
a:link{color: #fff;background-color: aqua;
}

二、常用種類

偽類含義
:link選中未訪問的鏈接
:visited選中已訪問的鏈接
:hover鼠標懸停在元素上時
:active元素被激活(如鼠標按下元素)時
:focus元素獲得焦點(如表單輸入框被選中)
:disabled禁用的表單元素
:checked被選中的復選框或單選按鈕
:first-child元素的第一個子元素
:last-child元素的最后一個子元素
:first-of-type選中第一個指定類型的子元素
:last-of-type選中最后一個指定類型的子元素
:nth-child(n)選中第 n 個子元素(支持公式如 2n+1)
:nth-of-type(n)選中該類型元素的第 n 個

三、案例實現

案例一:a標簽使用link/visited/hover/active

當我們同時使用多種選中樣式的偽類時,生效的順序十分重要!!!這里通過愛恨法則來加快記憶

愛恨法則 Love Hate -> link visited hover active

效果代碼:hover和active需要鼠標移動至元素/鼠標按下激活元素

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>偽類</title><style>.nav a{width: 100px;height: 50px;text-decoration: none;background-color: antiquewhite;}/*偽類順序: 愛恨法則 Love Hate -> link visited hover active  *//* line 選中未訪問過的超鏈接 */.nav a:link{color: #fff;background-color: aqua;}/* visited 選中訪問過的超鏈接 */.nav a:visited{background-color: aquamarine;}/* hover 選中鼠標移入的元素 */.nav a:hover{background-color: azure;}/* active 選中鼠標按下的元素 */.nav a:active{color: #fff;background-color: red;}</style>
</head>
<body><div class="nav"><a href="https://gitee.com/">gitee</a><a href="https://www.bilibili.com">嗶哩嗶哩</a><a href="https://ys.mihoyo.com/">原神</a><a href="https://chat.deepseek.com/">deepseek</a></div>
</body>
</html>

效果
在這里插入圖片描述

案例二:表單元素使用focus/disabled

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>偽類</title><style>form input:focus{outline: 1px solid red;}form button:disabled{cursor: not-allowed;}</style>
</head>
<body><form><input type="text" placeholder="一步一步向上爬"><button disabled>成績加一</button></form>
</body>
</html>

focus:表單聚焦
disabled:表單元素禁用,這里改動的是鼠標樣式
效果
在這里插入圖片描述

案例三、通過其余偽類實現元素靈活選中

注意!!!:first-child 的匹配規則- - last-child同理

  • 嚴格檢查位置:只有同時滿足以下兩個條件時才生效:
    • 元素是父容器第一個子元素
    • 元素類型與選擇器指定的標簽匹配

案例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>偽類</title><style>p:first-child{color: red;}</style>
</head>
<body><div> <!-- 父元素 --><span>span:靈活的選擇器</span> <!-- 第一個為span --><div> <!-- 父元素 --><p>p:分割線</p> <!-- 第一個為p,滿足條件 --></div><div> <!-- 父元素 --><span>span</span> <!-- 第一個為span --><p>p:分割線</p></div></div>
</body>
</html>

效果
在這里插入圖片描述


案例:first-of-type

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>偽類</title><style>p:first-of-type{color: red;}</style>
</head>
<body><div><span>靈活的選擇器</span><div><p>分割線</p></div><div><span>111</span><p>分割線</p></div></div></div>
</body>
</html>

案例:實現斑馬線

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>偽類</title><style>.list{width: 400px;outline: 1px solid red;}.list p{margin: 0;}.list p:first-child{text-align: center;font-size: 32px;} .list p:nth-child(2n+3){background-color: hsl(160, 88%, 80%);}.list p:nth-child(2n){background-color: aqua;}</style>
</head>
<body><div class="list"><p><span>你好</span></p><p><span>相信自己,你一定可以的,不要忘記休息</span></p><p><span>相信自己,你一定可以的,不要忘記休息</span></p><p><span>相信自己,你一定可以的,不要忘記休息</span></p><p><span>相信自己,你一定可以的,不要忘記休息</span></p><p><span>相信自己,你一定可以的,不要忘記休息</span></p><p><span>相信自己,你一定可以的,不要忘記休息</span></p><p><span>相信自己,你一定可以的,不要忘記休息</span></p></div>
</body>
</html>

效果
在這里插入圖片描述

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

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

相關文章

http proxy的原理是什么

Http代理的原理 代理服務器會自動提取請求數據包中的HTTP請求數據發送給服務端&#xff0c;并將服務端的HTTP響應數據轉發給發送請求的客戶端&#xff0c;HTTP代理服務器使用的端口通常是8080。 對于Web客戶端來說&#xff0c;代理扮演的服務器角色&#xff0c;接收請求&…

Ubuntu22.04虛擬機里安裝Yolov8流程

1. 安裝pytorch sudo apt install nvidia-cuda-toolkit nvcc --version # 官方適配地址&#xff1a;https://download.pytorch.org/whl/torch/import torch print(torch.__version__) print(torch.cuda.is_available())2. 安裝環境 # cuDNN 安裝&#xff1a;https://develop…

神經網絡微調技術解析

神經網絡微調技術 微調&#xff08;Fine-tuning&#xff09;是遷移學習的核心技術&#xff0c;通過在預訓練模型基礎上調整參數&#xff0c;使其適應特定任務或領域。以下從傳統方法、參數高效微調&#xff08;PEFT&#xff09;、新興技術三個維度展開&#xff0c;覆蓋主流技術…

Spring 聲明式事務管理

Spring 編程的方式實現事務管理&#xff0c;這樣太過麻煩&#xff0c;需要在每個方法上面加上相應的事務處理操作&#xff0c;聲明式事務處理能夠很好的解決這個問題&#xff0c;比如通過tx命名空間&#xff0c;這樣只需要配置就可以檢測到相關的方法&#xff0c;或者是通過tra…

電機控制常見面試問題(十五)

文章目錄 一、電機氣隙二、電氣時間三.電機三環控制詳解四.驅動板跳線意義五.電機開環自檢 一、電機氣隙 電機氣隙是定子和轉子之間的空隙&#xff0c;防止釘子轉子運轉時物理接觸&#xff0c;此外&#xff0c;氣隙是磁路的重要環節&#xff0c;磁場需通過氣隙傳遞能量&#x…

代碼隨想錄算法訓練營第六十五天| 圖論10

Bellman_ford 隊列優化算法&#xff08;又名SPFA&#xff09; 代碼隨想錄 import collectionsdef main():n, m map(int, input().strip().split())edges [[] for _ in range(n 1)]for _ in range(m):src, dest, weight map(int, input().strip().split())edges[src].append…

Chat2DB:讓數據庫管理像聊天一樣簡單

數據庫工具的痛點與破局 在數據爆炸的時代&#xff0c;數據庫管理工具已成為企業高效運營的剛需。然而&#xff0c;傳統工具如Navicat、DBeaver雖功能強大&#xff0c;卻讓非技術人員和SQL新手望而卻步。復雜的界面、繁瑣的手動操作、晦澀的語法規則&#xff0c;成為橫亙在數據…

Navicat for Snowflake 震撼首發,激活數據倉庫管理全新動能

近日&#xff0c;Navicat 家族迎來了一位全新成員 — Navicat for Snowflake。Snowflake 是一款基于云架構的現代數據倉庫解決方案&#xff0c;以其彈性擴展、高性能和易用性著稱。這次首發的Navicat for Snowflake 專為簡化 Snowflake 數據庫管理任務而精心打造。它憑借其直觀…

【項目合集】智能語音小車-微信小程序控制

功能需求&#xff1a; 車子檢測環境溫度、濕度&#xff0c;上報 APP、WEB 端顯示實時數據可通過 APP 控制小車前進、左轉、右轉可通過語音控制小車前進后退車上一個 LED 燈&#xff0c;可通過 WEB、小程序控制在 APP、WEB 上均可注冊登錄 硬件清單 硬件 功能 備注 ESP32 …

人工智能與人的智能,改變一生的思維模型分享【4】決策樹

決策樹&#xff08; DECISION TREE&#xff09; 一般由一個決策圖和若干可能的結果組成。是一種通過羅列解題的關鍵步驟以及各步驟發生的條件和結果&#xff0c;由此來創建到達目標的規劃。 我們很早就知道有一個方法&#xff0c;叫做當你苦悶、糾結的時候&#xff0c;把你的所…

利用余弦相似度在大量文章中找出抄襲的文章

我前面的2篇文章分別講了如果利用余弦相似度來判斷2篇文章的相似度&#xff0c;來確定文章是否存在抄襲&#xff0c;和余弦相似度的原理&#xff0c;即余弦相似度到底是怎么來判斷文章的相似性高低的等等。這一篇再說下&#xff0c;對于文章字數多和大量文章時&#xff0c;如果…

設計模式-對象創建

對象創建 前言1. Factory Method1.1 模式介紹1.2 模式代碼1.2.1 問題代碼1.2.2 重構代碼 1.3 模式類圖1.4 要點總結 2. Abstract Factory2.1 模式介紹2.2 模式代碼2.2.1 問題代碼2.2.2 重構代碼 2.3 模式類圖2.4 要點總結 3. Prototype3.1 模式介紹3.2 模式代碼3.3 模式類圖3.4…

SQLAlchemy系列教程:批量插入數據

高效地批量插入數據對于應用程序的性能至關重要。SQLAlchemy為批處理操作提供了幾種機制&#xff0c;可以最大限度地減少開銷并加快數據庫事務時間。在本指南中&#xff0c;我們將探討如何使用SQLAlchemy執行批量插入&#xff0c;包括從基礎技術到高級技術。 搭建環境 在開始之…

V2X驗證

1. 標準和規范驗證 歐洲對 DSRC 和 V2X 系統有一系列的標準和規范,主要由 ETSI (European Telecommunications Standards Institute) 和 IEEE 等組織制定。驗證通常包括以下標準和規范: ETSI EN 302 571:這是DSRC在歐洲的主要標準,規定了DSRC系統的技術要求和操作條件。ET…

openEuler系統遷移 Docker 數據目錄到 /home,解決Docker 臨時文件占用大問題

根據錯誤信息 write /var/lib/docker/tmp/...: no space left on device&#xff0c;問題的根源是 根分區&#xff08;/&#xff09;的磁盤空間不足&#xff0c;而非 /home 分區的問題。以下是詳細解釋和解決方案&#xff1a; 問題原因分析 Docker 臨時文件占用根分區空間&…

Matlab 四分之一車輛被動懸架和模糊pid控制對比

1、內容簡介 Matlab 183-四分之一車輛被動懸架和模糊pid控制對比 可以交流、咨詢、答疑 2、內容說明 略 3.1 車輛多自由度模型建立 對于車輛動力學&#xff0c;一般都是研究其懸架系統&#xff0c;懸架系統由輪胎&#xff0c;輪胎空氣&#xff0c;彈簧&#xff0c;減震器和…

LabVIEW旋轉設備狀態在線監測系統

為了提高大型旋轉設備如電機和水泵的監控效率和故障診斷能力&#xff0c;用LabVIEW軟件開發了一套實時監測與故障診斷系統。該系統集成了趨勢分析、振動數據處理等多項功能&#xff0c;可實時分析電機電流、壓力、溫度及振動數據&#xff0c;以早期識別和預報故障。 ? 項目背…

微前端 無界wujie

開發環境配置: Node.js 版本 < 18.0.0 pnpm 腳手架示例模版基于 pnpm turborepo 管理項目 如果您的當前環境中需要切換 node.js 版本, 可以使用 nvm or fnm 進行安裝. 以下是通過 nvm 或者nvs 安裝 Node.js 16 LTS 版本 nvs安裝教程 https://blog.csdn.net/glorydx/artic…

跟網型逆變器小干擾穩定性分析與控制策略優化simulink仿真模型和代碼(包含完整仿真報告)

關注&#xff1a;“電擊小子程高興的MATLAB小屋”獲取巨額優惠 1.模型簡介 本仿真模型基于MATLAB/Simulink&#xff08;版本MATLAB 2016Rb&#xff09;軟件。建議采用matlab2016 Rb及以上版本打開。&#xff08;若需要其他版本可聯系代為轉換&#xff09; 近年來&#xff0c…

基于SpringBoot的“城市公交查詢系統”的設計與實現(源碼+數據庫+文檔+PPT)

基于SpringBoot的“城市公交查詢系統”的設計與實現&#xff08;源碼數據庫文檔PPT) 開發語言&#xff1a;Java 數據庫&#xff1a;MySQL 技術&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系統展示 系統總體結構圖 系統首頁界面 用戶登錄界面 公…