LESS - Mixin 作用域

描述

在调用方的作用域中直接定义变量时,无法覆盖该作用域中的变量。但是,变量不受保护,在调用方父作用域中定义时将被覆盖。

示例

以下示例演示了在 LESS 文件中使用 mixin 作用域

<html>
   <head>
      <link rel = "stylesheet" href = "style.css" type = "text/css" />
      <title>Mixins Scope</title>
   </head>

   <body>
      <div class = "myclass">
         <h2>Welcome to Tutorialspoint</h2>
         <p>LESS is a CSS pre-processor that enables customizable, 
         manageable and reusable style sheet for web site.</p>
      </div>
   </body>
</html>

接下来,创建 style.less 文件。

style.less

@val: 20px; // callers parent scope - no protection
.mixin() {
   @val: 10px;
   @definedOnlyInMixin: 10px;
}

.myclass {
   padding-left: @val * @definedOnlyInMixin;
   .mixin();
}

您可以使用以下命令将 style.less 编译为 style.css

lessc style.less style.css

执行上述命令;它将使用以下代码自动创建 style.css 文件 −

style.css

.myclass {
   padding-left: 100px;
}

输出

按照以下步骤查看上述代码的工作原理 −

  • 将上述 html 代码保存在 less_mixin_as_function_scope2.html 文件中。

  • 在浏览器中打开此 HTML 文件,将显示以下输出。

LESS Mixin 作用域