scss(sass)中 的使用說明

在 SCSS(Sass)中,&?符號是一個父選擇器引用,它代表當前嵌套規則的外層選擇器。主要用途如下:


1.?連接偽類/偽元素

scss

復制

下載

.button {background: blue;&:hover {  // 相當于 .button:hoverbackground: darkblue;}&::after { // 相當于 .button::aftercontent: ">";}
}

編譯結果:

css

復制

下載

.button {background: blue;
}
.button:hover {background: darkblue;
}
.button::after {content: ">";
}

2.?串聯選擇器(BEM 風格命名)

scss

復制

下載

.menu {&__item {   // 相當于 .menu__itemcolor: red;}&--dark {   // 相當于 .menu--darkbackground: black;}
}

編譯結果:

css

復制

下載

.menu__item {color: red;
}
.menu--dark {background: black;
}

3.?嵌套上下文

scss

復制

下載

.page {.dark-theme & { // 相當于 .dark-theme .pagebackground: #333;}
}

編譯結果:

css

復制

下載

.dark-theme .page {background: #333;
}

4.?避免重復書寫父選擇器

scss

復制

下載

.card {&-header { ... }  // .card-header&-body { ... }    // .card-body&-footer { ... }  // .card-footer
}

?? 注意事項

  • &?必須寫在選擇器開頭&hover(錯誤)? →?&:hover(正確)?

  • 深層嵌套時&?會引用完整的選擇器鏈:

    scss

    復制

    下載

    .a {.b & { // 編譯為 .b .a}
    }

總結

場景示例編譯結果
偽類&:hover.parent:hover
BEM 命名&__item.parent__item
修改上下文.context &.context .parent
簡化重復前綴&-suffix.parent-suffix

合理使用?&?能讓 SCSS 代碼更簡潔、可讀性更強,特別適合組件化開發和 BEM 命名規范!

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

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

相關文章

C++ 信息學奧賽總復習題答案解析

第一章 答案解析 填空題 .cpp 知識點:C 源文件的命名規范 main () 知識點:C 程序的入口函數 // ,/* */ 知識點:C 注釋的兩種形式 int a; 知識點:變量聲明的語法 cout 知識點:輸出語句的關鍵字 判斷題…

Jenkins持續集成CI,持續部署CD,Allure報告集成以及發送電子 郵件

文章目錄 一、Jenkins 的簡介二、Jenkins的安裝三、Jenkins 文件夾的作用四、Jenkins 的應用新建 job配置 jobjenkins 集成 Allure 報告。jenkins 集成 HTML 的報告 五、Jenkins 發送電子郵件1)安裝插件:Email Extension2)開啟 POP3/SMTP 服務…

算術圖片驗證碼(四則運算)+selenium

一、表達式解析 這里假設已經識別出來表達式,如何識別驗證碼圖片里的表達式,放在下面講。涉及到的正則表達式的解析放在本篇文章最后面。 import re # 表達式解析(支持小數的 -*/ 和中文運算符) def parse_math_expression(text)…

使用 Laravel 中的自定義存根簡化工作

在開發與外部服務、API 或復雜功能交互的應用程序時,測試幾乎總是很困難。簡化測試的一種方法是使用存根類。以下是我通常使用它們的方法。 福利簡介 存根是接口或類的偽實現,用于模擬真實服務的行為。它們允許您: 無需調用外部服務即可測試…

將 tensorflow keras 訓練數據集轉換為 Yolo 訓練數據集

以 https://www.kaggle.com/datasets/vipoooool/new-plant-diseases-dataset 為例 1. 圖像分類數據集文件結構 (例如用于 yolov11n-cls.pt 訓練) import os import csv import random from PIL import Image from sklearn.model_selection import train_test_split import s…

排序算法-歸并排序與快速排序

歸并排序與快速排序 快速排序是利用的遞歸思想:選取一個基準數,把小于基準數的放左邊 大于的放右邊直到整個序列有序 。快排分割函數 O(lognn), 空間 :沒有額外開辟新的數組但是遞歸樹調用函數會占用棧內存 O(logn) 。 歸并排序:在遞歸返回的…

北大開源音頻編輯模型PlayDiffusion,可實現音頻局部編輯,比傳統 AR 模型的效率高出 50 倍!

北大開源了一個音頻編輯模型PlayDiffusion,可以實現類似圖片修復(inpaint)的局部編輯功能 - 只需修改音頻中的特定片段,而無需重新生成整段音頻。此外,它還是一個高性能的 TTS 系統,比傳統 AR 模型的效率高出 50 倍。 自回歸 Tra…

MyBatis————入門

1,配置相關 我們上一期詳細講了一下使用注解來實現操作數據庫的方式,我們今天使用xml來實現,有同學可能有疑問,使用注解挺方便呀,為啥還要注解呀,先來說一下注解我感覺挺麻煩的,但是我們后面要…

【推薦算法】推薦算法演進史:從協同過濾到深度強化學習

推薦算法演進史:從協同過濾到深度強化學習 一、傳統推薦時代:協同過濾的奠基(1990s-2006)1.1 算法背景:信息爆炸的挑戰1.2 核心算法:協同過濾1.3 局限性 二、深度學習黎明:神經網絡初探&#xf…

Java基于SpringBoot的校園閑置物品交易系統,附源碼+文檔說明

博主介紹:?Java老徐、7年大廠程序員經歷。全網粉絲12w、csdn博客專家、掘金/華為云/阿里云/InfoQ等平臺優質作者、專注于Java技術領域和畢業項目實戰? 🍅文末獲取源碼聯系🍅 👇🏻 精彩專欄推薦訂閱👇&…

Ajax Systems公司的核心產品有哪些?

Ajax Systems 是一家專注于家庭安全和智能系統的公司,其核心產品如下3: 入侵保護設備:如 MotionCam Outdoor 無線室外運動探測器,配備內置攝像頭和兩個紅外傳感器,可通過預裝電池運行長達三年,能在 15 米距…

64、js 中require和import有何區別?

在 JavaScript 中,require 和 import 都是用于模塊導入的語法,但它們屬于不同的模塊系統,具有顯著的區別: 1. 模塊系統不同 require 屬于 CommonJS 模塊系統(Node.js 默認使用)。 語法:const…

Java+Access綜合測評系統源碼分享:含論文、開題報告、任務書全套資料

JAVAaccess綜合測評系統畢業設計 一、系統概述 本系統采用Java Swing開發前端界面,結合Access數據庫實現數據存儲,專為教育機構打造的綜合測評解決方案。系統包含學生管理、題庫管理、在線測評、成績分析四大核心模塊,實現了測評流程的全自…

【python】RGB to YUV and YUV to RGB

文章目錄 1、YUV2、YUV vs RGB3、RGB to YUV4、YUV to RGB附錄——YUV NV12 vs YUV NV21參考1、YUV YUV 顏色空間,又常被稱作 YCbCr 顏色空間,是用于數字電視的顏色空間,在 ITU-R BT.601、BT.709、BT.2020 標準中被明確定義,這三種標準分別針對標清、高清、超高清數字電視…

運行示例程序和一些基本操作

歡迎 ----> 示例 --> 選擇sample CTRL B 編譯代碼 CTRL R 運行exe 項目 中 Shadow build 表示是否 編譯生成文件和 源碼是否放一塊 勾上不在同一個地方 已有項目情況下怎么打開項目 方法一: 左鍵雙擊 xxx.pro 方法二: 文件菜單里面 選擇打開項目

計算機網絡第2章(下):物理層傳輸介質與核心設備全面解析

目錄 一、傳輸介質1.1 傳輸介質的分類1.2 導向型傳輸介質1.2.1 雙絞線(Twisted Pair)1.2.2 同軸電纜(Coaxial Cable)1.2.3 光纖(Optical Fiber)1.2.4 以太網對有線傳輸介質的命名規則 1.3 非導向型傳輸介質…

PHP文件包含漏洞詳解:原理、利用與防御

PHP文件包含漏洞詳解:原理、利用與防御 什么是文件包含漏洞? 文件包含漏洞是PHP應用程序中常見的安全問題,當開發者使用包含函數引入文件時,如果傳入的文件名參數未經嚴格校驗,攻擊者就可能利用這個漏洞讀取敏感文件…

5.4.2 Spring Boot整合Redis

本次實戰主要圍繞Spring Boot與Redis的整合展開,首先創建了一個Spring Boot項目,并配置了Redis的相關屬性。接著,定義了三個實體類:Address、Family和Person,分別表示地址、家庭成員和個人信息,并使用Index…

java內存模型JMM

Java 內存模型(Java Memory Model,JMM)定義了 Java 程序中的變量、線程如何和本地內存以及主內存進行交互的規則。它主要涉及到多線程環境下的共享變量可見性、指令重排等問題,是理解并發編程中的關鍵概念。 核心概念&#xff1a…

配置git命令縮寫

以下是 Git 命令縮寫的配置方法及常用方案,適用于 Linux/macOS/Windows 系統: 🔧 一、配置方法 1. 命令行設置(推薦) # 基礎命令縮寫 git config --global alias.st status git config --global alias.co che…