LESS - Extend 扩展
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 TutorialsPoint</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: blue;
}
输出
按照以下步骤查看上述代码的工作原理 −
将上述 html 代码保存在 extend_syntax.htm 文件中。
在浏览器中打开此 HTML 文件,将显示以下输出。
扩展语法
扩展被放入规则集或附加到选择器。它类似于包含一个或多个类的伪类,这些类用逗号分隔。使用可选关键字 all,可以跟上每个选择器。
示例
以下示例演示了在 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 TutorialsPoint</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 中使用的所有类型的扩展语法 −
| Sr.No. | 类型 &描述 |
|---|---|
| 1 | 附加到选择器的扩展
扩展连接到选择器,它看起来类似于以选择器为参数的伪类。 |
| 2 | 扩展规则集内部
&:extend(selector) 语法可以放在规则集主体内。 |
| 3 | 扩展嵌套选择器
使用 extend 选择器匹配嵌套选择器。 |
| 4 | 使用 Extend 进行精确匹配
默认情况下,extend 会查找选择器之间的精确匹配。 |
| 5 | 第 n 个表达式
第 n 个表达式的形式在 extend 中很重要,否则,它会将选择器视为不同的。 |
| 6 | 扩展"all"
当关键字 all 在 extend 参数中最后被标识时,LESS 会将该选择器作为另一个选择器的一部分进行匹配。 |
| 7 | 使用扩展进行选择器插值
extend 可以连接到插值选择器。 |
| 8 | 在 @media 内进行范围界定/扩展
扩展仅匹配同一媒体内存在的选择器声明。 |
| 9 | 重复检测
无法检测选择器的重复。 |
以下是扩展的用例类型
| Sr.No. | 类型和描述 |
|---|---|
| 1 | 经典用例
经典用例用于避免在 LESS 中添加基类。 |
| 2 | 减少 CSS 大小
Extend 用于将选择器移动到您想要使用的属性;这有助于减少 css 生成的代码。 |
| 3 | 组合样式/更高级的混合
使用扩展,我们可以将特定选择器的相同样式组合到其他选择器中。 |

