css的復合選擇器(有案例)

目錄

復合選擇器的描述

后代選擇器(常用重點)

子選擇器

并集選擇器(重點常用)

偽類選擇器

鏈接偽類選擇器

focus 偽類選擇器

知識總結:

案例實現:


  • 復合選擇器的描述

在 CSS 中,可以根據選擇器的類型把選擇器分為基礎選擇器和復合選擇器,復合選擇器是建立在基礎選擇器之上,對基本選擇器進行組合形成的,簡單來說就是對基礎選擇器混合在一起使用

? 復合選擇器可以更準確、更高效的選擇目標元素(標簽)

? 復合選擇器是由兩個或多個基礎選擇器,通過不同的方式組合而成的

? 常用的復合選擇器包括:后代選擇器、子選擇器、并集選擇器、偽類選擇器等等

后代選擇器(常用重點)

后代選擇器又稱為包含選擇器,可以選擇父元素里面子元素。其寫法就是把外層標簽寫在前面,內層標簽寫在 后面,中間用空格分隔。當標簽發生嵌套時,內層標簽就成為外層標簽的后代。

語法:

元素1 元素2 { 樣式聲明 }

上述語法表示選擇元素 1 里面的所有元素 2 (后代元素)。

ul li { 樣式聲明 } /* 選擇 ul 里面所有的 li標簽元素 */

特點:

? 元素1 和 元素2 中間用空格隔開

? 元素1 是父級,元素2 是子級,最終選擇的是元素2

? 元素2 可以是兒子,也可以是孫子等,只要是元素1 的后代即可

? 元素1 和 元素2 可以是任意基礎選擇器

子選擇器

子元素選擇器(子選擇器)只能選擇作為某元素的最近一級子元素。簡單理解就是選親兒子元素

語法:

元素1 > 元素2 { 樣式聲明 }

上述語法表示選擇元素1 里面的所有直接后代(子元素) 元素2。列如

div > p { 樣式聲明 } /* 選擇 div 里面所有最近一級 p 標簽元素 */

? 元素1 和 元素2 中間用 大于號 隔開

? 元素1 是父級,元素2 是子級,最終選擇的是元素2

? 元素2 必須是親兒子,其孫子、重孫之類都不歸他管. 你也可以叫他 親兒子選擇器

并集選擇器(重點常用)

定義:并集選擇器可以選擇多組標簽, 同時為他們定義相同的樣式。通常用于集體聲明. 并集選擇器是各選擇器通過英文逗號(,)連接而成,任何形式的選擇器都可以作為并集選擇器的一部分,簡單的理解就是多個基礎選擇器合并在一起,都會生效。

語法:

元素1,元素2 { 樣式聲明 }

上述語法表示選擇元素1 和 元素2。

例如:

ul,div { 樣式聲明 } /* 選擇 ul 和 div標簽元素 */

? 元素1 和 元素2 中間用逗號隔開

? 逗號可以理解為和的意思

? 并集選擇器通常用于集體聲明

偽類選擇器

什么是偽類選擇器?

偽類選擇器用于向某些選擇器添加特殊的效果,

比如給鏈接添加特殊效果,或選擇第1個,第n個元素。 偽類選擇器書寫最大的特點是用冒號(:)表示,比如 :hover 、 :first-child

偽類選擇器很多,比如有鏈接偽類、結構偽類等,所以這里先給大家講解常用的鏈接偽類選擇器。

鏈接偽類選擇器

一 鏈接偽類選擇器注意事項.

二 鏈接偽類選擇器實際開發中的寫法. 鏈接偽類選擇器注意事項

1. 為了確保生效,請按照 LVHA 的循順序聲明 :link-:visited-:hover-:active。

2. 記憶法:love hate 或者 lv 包包 hao 。

3. 因為 a 鏈接在瀏覽器中具有默認樣式,所以我們實際工作中都需要給鏈接單獨指定樣式。

鏈接偽類選擇器實際工作開發中的寫法:

?/* a 是標簽選擇器 所有的鏈接 */?
?a {?
?color: gray;
?}
?/* :hover 是鏈接偽類選擇器 鼠標經過 */
?a:hover {?
?color: red; /* 鼠標經過的時候,由原來的 灰色 變成了紅色 */
?}?

focus 偽類選擇器

:focus 偽類選擇器用于選取獲得焦點的表單元素。 焦點就是光標,一般情況 類表單元素才能獲取,因此這個選擇器也主要針對于表單元素來說。

input:focus {?
?background-color:yellow;
}?

知識總結:

案例實現:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* 后代選擇器 */.A ul li a {color: pink;}/* 子類選擇器 */.B>p {color: red;}/* 并集選擇器a,p {color: yellow;} *//* 偽類選擇器 */a {color: gray;}a:hover {color: red; /* 鼠標經過的時候,由原來的 灰色 變成了紅色 */}/* focus 偽類選擇器 */input:focus { background-color:yellow;} </style>
</head>
<body><!-- 問題:將a中的文本顏色改成粉色 --><div class="A"><ul><li><a href="">后代選擇器1</a></li><li><a href="">后代選擇器1</a></li></ul></div><!-- 要求:將div的父子的p標簽改成紅色 --><div class="B"><p>我是div的兒子</p></p></p><ul><li><p>我是div的孫子</p></li></ul></div><!-- 要求:將p標簽和a標簽改成黃色--><div class="C"><p>我是div的兒子</p><ul><li><p>我是div的孫子</p></li><li>我是li標簽</li></ul><a href="#">我是一個超鏈接</a></div><!-- 要求:顯示不懂的狀態 --><div class="D"><a href="#">我是一個超鏈接</a></div><div class="E"><a href="#">我是一個超鏈接</a><input type="text"><input type="text"><input type="text"></div></body>
</html>

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

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

相關文章

日志門面slf4j和各日志框架

簡介 簡單日志門面(Simple Logging Facade For Java) SLF4J主要是為了給Java日志訪問提供一套標準、規范的API框架&#xff0c; 其主要意義在于提供接口&#xff0c;具體的實現可以交由其他日志框架&#xff0c;如log4j、logback、log4j2。 對于一般的Java項目而言&#xff…

一個用于處理嵌入式系統中的 NAND Flash 存儲器的工具 `kobs-ng`

一個用于處理嵌入式系統中的 NAND Flash 存儲器的工具 kobs-ng kobs-ng 是一個用于處理嵌入式系統中的 NAND Flash 存儲器的工具。它是 U-Boot&#xff08;開源引導加載程序&#xff09;中的一個子項目&#xff0c;用于擦除、寫入和讀取 NAND Flash 設備上的數據。 以下是 kob…

SpringData JPA 搭建 xml的 配置方式

1.導入版本管理依賴 到父項目里 <dependencyManagement><dependencies><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-bom</artifactId><version>2021.1.10</version><scope>…

【力扣100】238.除自身以外數組的乘積

添加鏈接描述 class Solution:def productExceptSelf(self, nums: List[int]) -> List[int]:# 構造第i個數的左右數組n len(nums)left,right,res [1]*n,[1]*n,[1]*nfor i in range(1,n):left[i] nums[i-1]*left[i-1]for i in range(n-2,-1,-1):right[i] nums[i1]*right…

STM32Cube高效開發教程<基礎篇>(十二)----ADC

聲明:本人水平有限,博客可能存在部分錯誤的地方,請廣大讀者諒解并向本人反饋錯誤。 ?? 本專欄博客參考《STM32Cube高效開發教程(基礎篇)》,有意向的讀者可以購買正版書籍輔助學習,本書籍由王維波老師、鄢志丹老師、王釗老師傾力打造,書籍內容干貨滿滿。 一、功能概述 …

【C++11】lambda表達式及包裝器

一.lambda表達式 1.可調用對象 可調用對象即可以像函數一樣被調用的對象&#xff0c;有以下三種&#xff1a; 函數(指針)仿函數對象lambda表達式 tips&#xff1a;調用函數時&#xff0c;既可以用函數名&#xff0c;也可以用函數地址&#xff0c;因為函數名和函數地址是一回事…

Python從入門到精通五:Python數據容器

數據容器入門 為什么學習數據容器 思考一個問題&#xff1a;如果我想要在程序中&#xff0c;記錄5名學生的信息&#xff0c;如姓名。 如何做呢&#xff1f; 學習數據容器&#xff0c;就是為了批量存儲或批量使用多份數據 Python中的數據容器&#xff1a; 一種可以容納多份…

Kalman濾波、擴展Kalman濾波、無跡Kalman濾波和異步濾波的原理及其Matlab代碼

目錄 引言Kalman濾波代碼及其結果展示 擴展Kalman濾波代碼及其結果展示 無跡Kalman濾波無跡變換無跡Kalman濾波代碼及其結果展示 異步無跡Kalman濾波原理代碼及其結果展示 引言 本文給出了Kalman Filter&#xff08;卡爾曼濾波&#xff09;、Extended Kalman Filter&#xff0…

leetcode 98. 驗證二叉搜索樹

leetcode 98. 驗證二叉搜索樹 題目 給你一個二叉樹的根節點 root &#xff0c;判斷其是否是一個有效的二叉搜索樹。 有效 二叉搜索樹定義如下&#xff1a; 節點的左子樹只包含 小于 當前節點的數。 節點的右子樹只包含 大于 當前節點的數。 所有左子樹和右子樹自身必須也是…

vue3 引入 markdown編輯器

參考文檔 安裝依賴 pnpm install mavon-editor // "mavon-editor": "3.0.1",markdown 編輯器 <mavon-editor></mavon-editor>新增文本 <mavon-editor ref"editorRef" v-model"articleModel.text" codeStyle"…

Adams與Abaqus沖突問題

隨著工程仿真軟件的廣泛應用&#xff0c;Adams和Abaqus已成為眾多工程師的首選工具。然而&#xff0c;在使用過程中&#xff0c;一些用戶可能會遇到這兩個軟件之間的沖突問題&#xff0c;導致無法正常進行仿真分析。為了幫助大家解決這一難題&#xff0c;我們推出了一篇關于Ada…

Softmax回歸

一、Softmax回歸關鍵思想 1、回歸問題和分類問題的區別 Softmax回歸雖然叫“回歸”&#xff0c;但是它本質是一個分類問題。回歸是估計一個連續值&#xff0c;而分類是預測一個離散類別。 2、Softmax回歸模型 Softmax回歸跟線性回歸一樣將輸入特征與權重做線性疊加。與線性回歸…

Linux安裝Nginx并部署Vue項目

今天部署了一個Vue項目到阿里云的云服務器上&#xff0c;現記錄該過程。 1. 修改Vue項目配置 我們去項目中發送axios請求的文件里更改一下后端的接口路由&#xff1a; 2. 執行命令打包 npm run build ### 或者 yarn build 打包成功之后&#xff0c;我們會看到一個dist包&a…

[MySQL]SQL優化之索引的使用規則

&#x1f308;鍵盤敲爛&#xff0c;年薪30萬&#x1f308; 目錄 一、索引失效 &#x1f4d5;最左前綴法則 &#x1f4d5;范圍查詢> &#x1f4d5;索引列運算&#xff0c;索引失效 &#x1f4d5;前模糊匹配 &#x1f4d5;or連接的條件 &#x1f4d5;字符串類型不加 …

110. 平衡二叉樹(Java)

給定一個二叉樹&#xff0c;判斷它是否是高度平衡的二叉樹。 本題中&#xff0c;一棵高度平衡二叉樹定義為&#xff1a; 一個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1 。 示例 1&#xff1a; 輸入&#xff1a;root [3,9,20,null,null,15,7] 輸出&#xff1a;t…

如何通過SPI控制Peregrine的數控衰減器

概要 Peregrine的數控衰減器PE4312是6位射頻數字步進衰減器(DSA,Digital Step Attenuator)工作頻率覆蓋1MHz~4GHz,插入損耗2dB左右,衰減步進0.5dB,最大衰減量為31.5dB,高達59dBm的IIP3提供了良好的動態性能,切換時間0.5微秒,供電電源2.3V~5.5V,邏輯控制兼容1.8V,20…

?如何使用https://www.krea.ai/來實現文生圖,圖生圖,

網址&#xff1a;https://www.krea.ai/apps/image/realtime Krea.ai 是一個強大的人工智能藝術生成器&#xff0c;可用于創建各種創意內容。它可以用來生成文本描述的圖像、將圖像轉換為其他圖像&#xff0c;甚至寫博客文章。 文本描述生成圖像 要使用 Krea.ai 生成文本描述…

設計模式——建造者模式(Java示例)

引言 生成器是一種創建型設計模式&#xff0c; 使你能夠分步驟創建復雜對象。 與其他創建型模式不同&#xff0c; 生成器不要求產品擁有通用接口。 這使得用相同的創建過程生成不同的產品成為可能。 復雜度&#xff1a; 中等 流行度&#xff1a; 流行 使用示例&#xff1a…

【conda】利用Conda創建虛擬環境,Pytorch各版本安裝教程(Ubuntu)

TOC conda 系列&#xff1a; 1. conda指令教程 2. 利用Conda創建虛擬環境&#xff0c;安裝Pytorch各版本教程(Ubuntu) 1. 利用Conda創建虛擬環境 nolonolo:~/sun/SplaTAM$ conda create -n splatam python3.10查看結果&#xff1a; (splatam) nolonolo:~/sun/SplaTAM$ cond…

Java 中的 Deque 接口及其用途

文章目錄 Deque 介紹Deque 使用雙端隊列普通隊列棧 總結 在 Java 中&#xff0c;Deque 接口是一個雙端隊列&#xff08;double-ended queue&#xff09;的數據結構&#xff0c;它支持在兩端插入和移除元素。Deque 是 “Double Ended Queue” 的縮寫&#xff0c;而且它可以同時充…