Less 入门教程 Less 扩展

2024-02-25 开发教程 Less 入门教程 匿名 2

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 查找选择器之间的完全匹配。
5nth表达式

nth表达式的形式在其他情况下很重要,它将选择器视为不同。

6扩展“all"
当最后在扩展参数中识别出关键字 all 时,LESS将该选择器作为另一个选择器的一部分。
7

选择器插值扩展

extend 可以连接到内插选择器。
8@media中的范围/扩展
扩展匹配仅在同一媒体声明内存在的选择器。
9重复检测
它不能检测选择器的重复。

以下是扩展的用例类型

S.N.S.N.
1经典用例
经典用例用于避免在LESS中添加基类。
2减小CSS大小
Extend用于将选择器移动到要使用的属性,这有助于减少css生成的代码。
3组合样式/更高级的Mixin
使用extend可以将特定选择器的相同样式组合到其他选择器中。