阅读(2972) (26)

Less 扩展

2016-12-28 10:04:09 更新

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 文件,将显示如下输出。


打开HTML文件


下表列出了您可以在LESS中使用的所有类型的扩展语法:

S.N.类型及描述
1 扩展附加到选择器

扩展连接到一个选择器,该选择器看起来类似于具有选择器作为参数的伪类。
2 扩展内部规则集

&:extend(selector)语法可以放在规则集的正文中。
3 扩展嵌套选择器

使用 extend 选择器匹配嵌套选择器。
4完全匹配与扩展

默认情况下, extend 查找选择器之间的完全匹配。
5 nth表达式

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

6 扩展“all"

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

择器插值扩展


extend 可以连接到内插选择器。
8 @media中的范围/扩展

扩展匹配仅在同一媒体声明内存在的选择器。
9 重复检测

它不能检测选择器的重复。

以下是扩展的用例类型

S.N.S.N.
1 经典用例

经典用例用于避免在LESS中添加基类。
2 减小CSS大小

Extend用于将选择器移动到要使用的属性,这有助于减少css生成的代码。
3 组合样式/更高级的Mixin

使用extend可以将特定选择器的相同样式组合到其他选择器中。