Less 擴展
Extend是一個LESS偽類,它通過使用:extend選擇器在一個選擇器中擴展其他選擇器樣式。
例子
以下示例演示如何在LESS文件中使用extend:
extend_syntax.htm
<!doctype html>
<head>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div class="style">
<h2>Welcome to W3Cschool</h2>
<p>Hello!!!!!</p>
</div>
</body>
</html>
接下來,創建文件 style.less
style.less
h2 {
&:extend(.style);
font-style: italic;
}
.style {
background: green;
}
您可以使用以下命令將extend.less文件編譯為extend.css:
lessc style.less style.css
接下來執行上面的命令,它將用下面的代碼自動創建style.css文件:
style.css
h2 {
font-style: italic;
}
.style,
h2 {
background: green;
}
輸出
讓我們執行以下步驟,看看上面的代碼如何工作:
將上述 html 代碼保存在extend_syntax.htm文件中。
在瀏覽器中打開此 HTML 文件,將顯示如下輸出。
擴展語法
擴展放置在規則集中或附加到選擇器。它類似于包含一個或多個類的偽類,它們之間用逗號分隔。使用可選的關鍵字全部,可以跟蹤每個選擇器。
例子
以下示例演示如何在 LESS 文件中使用 extend 語法:
extend_syntax.htm
<!doctype html>
<head>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<div class="style">
<h2>Welcome to W3Cschool</h2>
<div class="container">
<p>Hello!!!!!</p>
</div>
</div>
</body>
</html>
接下來,創建文件 style.less
style.less
.style:extend(.container, .img)
{
background: #BF70A5;
}
.container {
font-style: italic;
}
.img{
font-size: 30px;
}
您可以使用以下命令將 style.less 文件編譯為 style.css :
lessc style.less style.css
接下來執行上面的命令,它將用下面的代碼自動創建 style.css 文件:
style.css
.style {
background: #BF70A5;
}
.container,
.style {
font-style: italic;
}
.img,
.style {
font-size: 30px;
}
輸出
讓我們執行以下步驟,看看上面的代碼如何工作:
將上述html代碼保存在extend_syntax.htm文件中。
在瀏覽器中打開此 HTML 文件,將顯示如下輸出。
下表列出了您可以在LESS中使用的所有類型的擴展語法:
S.N. | 類型及描述 |
---|---|
1 | 擴展附加到選擇器 擴展連接到一個選擇器,該選擇器看起來類似于具有選擇器作為參數的偽類。 |
2 | 擴展內部規則集 &:extend(selector)語法可以放在規則集的正文中。 |
3 | 擴展嵌套選擇器 使用extend選擇器匹配嵌套選擇器。 |
4 | 完全匹配與擴展 默認情況下,extend查找選擇器之間的完全匹配。 |
5 | nth表達式 nth表達式的形式在其他情況下很重要,它將選擇器視為不同。 |
6 | 擴展“all" 當最后在擴展參數中識別出關鍵字all時,LESS將該選擇器作為另一個選擇器的一部分。 |
7 | 選擇器插值擴展 |
8 | @media中的范圍/擴展 擴展匹配僅在同一媒體聲明內存在的選擇器。 |
9 | 重復檢測 它不能檢測選擇器的重復。 |
以下是擴展的用例類型
S.N. | S.N. |
---|---|
1 | 經典用例 經典用例用于避免在LESS中添加基類。 |
2 | 減小CSS大小 Extend用于將選擇器移動到要使用的屬性,這有助于減少css生成的代碼。 |
3 | 組合樣式/更高級的Mixin 使用extend可以將特定選擇器的相同樣式組合到其他選擇器中。 |