- Sass 教程
- Sass - 首頁
- Sass - 概述
- Sass - 安裝
- Sass - 語法
- 使用 Sass
- Sass - CSS 擴充套件
- Sass - 註釋
- Sass - 指令碼
- Sass - @規則和指令
- 控制指令和表示式
- Sass - Mixin 指令
- Sass - 函式指令
- Sass - 輸出樣式
- 擴充套件 Sass
- Sass 有用資源
- Sass - 面試問題
- Sass - 快速指南
- Sass - 有用資源
- Sass - 討論
Sass - 擴充套件指令
描述
@extend 指令用於共享選擇器之間的規則和關係。它可以將所有其他類樣式擴充套件到一個類中,也可以應用其自身的特定樣式。以下是擴充套件的型別:
| 型別和描述 | 語法 | 編譯後的程式碼 |
|---|---|---|
擴充套件複雜選擇器 它可以擴充套件僅包含單個元素或類選擇器的選擇器。 |
h2 {
font-size: 40px;
}
.container{
@extend h2
}
|
h2, .container {
font-size: 40px;
}
|
多個擴充套件 單個選擇器可以擴充套件多個選擇器。 |
.style {
font-size: 25px;
font-style: italic;
}
h2 {
color: #61C8E1;
}
.container {
@extend .style;
@extend h2
}
|
.style, .container {
font-size: 25px;
font-style: italic;
}
h2, .container {
color: #61C8E1;
}
|
鏈式擴充套件 第一個選擇器被第二個選擇器擴充套件,第二個選擇器被第三個選擇器擴充套件,因此這被稱為鏈式擴充套件。 |
.style {
font-size: 25px;
font-style: italic;
}
h2 {
color: #61C8E1;
@extend .style
}
.container {
@extend h2
}
|
.style, h2, .container {
font-size: 25px;
font-style: italic;
}
h2, .container {
color: #61C8E1;
}
|
選擇器序列 巢狀選擇器本身可以使用@extend。 合併選擇器序列 它合併兩個序列,即一個序列擴充套件另一個序列,該序列存在於另一個序列中。 |
.style {
font-size: 25px;
font-style: italic;
color: #61C8E1;
}
h2 .container {
@extend .style
}
.container .style a {
font-weight: bold;
}
#id .example {
@extend a;
}
|
.style, h2 .container {
font-size: 25px;
font-style: italic;
color: #61C8E1;
}
.container .style a, .container .style #id
.example, #id .container .style .example {
font-weight: bold;
}
|
@extend - 僅選擇器 百分號字元 (%) 可用於任何 id 或類的位置,它可以防止其自身的規則集被渲染到 CSS 中。 |
.style a%extreme {
font-size: 25px;
font-style: italic;
color: #61C8E1;
}
.container {
@extend %extreme;
}
|
.style a.container {
font-size: 25px;
font-style: italic;
color: #61C8E1;
}
|
!optional 標誌 !optional 標誌用於允許 @extend 不建立任何新的選擇器。 |
h2.important {
@extend .style !optional;
}
|
A blank compile page gets display. |
@extend 在指令中 如果在 @media 中使用 @extend,則它只能擴充套件存在於相同指令塊中的選擇器。 |
@media print {
.style {
font-size: 25px;
font-style: italic;
}
.container {
@extend .style;
color: #61C8E1;
}
}
|
@media print {
.style, .container {
font-size: 25px;
font-style: italic;
}
.container {
color: #61C8E1;
}
}
|
示例
以下示例演示了在 SCSS 檔案中使用 @extend:
extend.htm
<!doctype html>
<head>
<title>Extend Example</title>
<link rel = "stylesheet" href = "extend.css" type = "text/css" />
</head>
<body class = "container">
<h2>Example using Extend</h2>
<p class = "style">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>
</body>
</html>
接下來,建立檔案 extend.scss。
extend.scss
.style{
font-size: 30px;
font-style: italic;
}
h2{
color: #787878;
@extend .style
}
.container{
@extend h2
}
可以使用以下命令告訴 Sass 監視檔案並在 Sass 檔案更改時更新 CSS:
sass --watch C:\ruby\lib\sass\extend.scss:extend.css
接下來,執行上述命令;它將自動建立 extend.css 檔案,其中包含以下程式碼:
extend.css
.style, h2, .container {
font-size: 30px;
font-style: italic;
}
h2, .container {
color: #787878;
}
輸出
讓我們執行以下步驟來檢視上述程式碼的工作方式:
將上述 html 程式碼儲存在 **extend.html** 檔案中。
在瀏覽器中開啟此 HTML 檔案,將顯示如下所示的輸出。
sass_rules_and_directives.htm
廣告