Extend
Extend是一个LESS伪类,它通过使用:extend selector :extend一个选择器中的其他选择器样式。
例子 (Example)
以下示例演示了在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 xnip</h2>
<p>Hello!!!!!</p>
</div>
</body>
</html>
接下来,创建style.less文件。
style.less
h2 {
&:extend(.style);
font-style: italic;
}
.style {
background: green;
}
您可以使用以下命令将extend.less文件编译为extend.less -
lessc style.less style.css
执行上面的命令; 它将使用以下代码自动创建style.css文件 -
style.css
h2 {
font-style: italic;
}
.style,
h2 {
background: blue;
}
输出 (Output)
请按照以下步骤查看上述代码的工作原理 -
将上述html代码保存在extend_syntax.htm文件中。
在浏览器中打开此HTML文件,将显示以下输出。
扩展语法
Extend放入规则集或附加到选择器。 它类似于包含一个或多个类的伪类,这些类由逗号分隔。 使用可选关键字all ,可以遵循每个选择器。
例子 (Example)
以下示例演示了在LESS文件中使用extend syntax -
extend_syntax.htm
<!doctype html>
<head>
<link rel = "stylesheet" href = "style.css" type = "text/css" />
</head>
<body>
<div class = "style">
<h2>Welcome to xnip</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;
}
输出 (Output)
请按照以下步骤查看上述代码的工作原理 -
将上述html代码保存在extend_syntax.htm文件中。
在浏览器中打开此HTML文件,将显示以下输出。
下表列出了您可以在LESS中使用的所有扩展语法类型 -
Sr.No. | 类型和描述 |
---|---|
1 | 扩展附加到选择器 Extend连接到一个选择器,它看起来类似于带有selector作为参数的伪类。 |
2 | 扩展内部规则集 &:extend(selector)语法可以放在规则集的主体内。 |
3 | 扩展嵌套选择器 使用extend选择器匹配嵌套选择器。 |
4 | 与Extend完全匹配 默认情况下, extend查找选择器之间的完全匹配。 |
5 | 第n个表达 第n个表达式的形式在扩展中很重要,否则它将选择器视为不同。 |
6 | 扩展“所有” 当在extend参数中最后标识关键字all时,LESS将该选择器与另一个选择器的一部分匹配。 |
7 | 具有扩展的选择器插值 extend可以连接到插值选择器。 |
8 | 在@media内部范围/扩展 Extend仅匹配同一媒体声明中存在的选择器。 |
9 | 复制检测 它无法检测到选择器的重复。 |
以下是Extend的用例类型
Sr.No. | 类型和描述 |
---|---|
1 | 经典用例 经典用例用于避免在LESS中添加基类。 |
2 | 减少CSS大小 Extend用于将选择器移动到您想要使用的属性; 这有助于减少css生成的代码。 |
3 | 结合样式/更高级的Mixin 使用extend我们可以将特定选择器的相同样式组合到其他选择器中。 |