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可以将特定选择器的相同样式组合到其他选择器中。 |