LESS - Mixin 作用域



描述

包含變數的 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

.mixin() {
   @bgcolor: #C0C0C0;
}

.myclass{
   .mixin();
   background-color: @bgcolor;
}

您可以使用以下命令將style.less 編譯為style.css

lessc style.less style.css

執行上述命令;它將自動建立包含以下程式碼的style.css 檔案:

style.css

.myclass {
   background-color: #C0C0C0;
}

輸出

按照以下步驟檢視上述程式碼的工作方式:

  • 將上述 html 程式碼儲存到less_mixin_as_function_scope.html 檔案中。

  • 在瀏覽器中開啟此 HTML 檔案,將顯示以下輸出。

LESS Mixin Scope

當變數直接在呼叫者的作用域中定義時,無法覆蓋呼叫者的作用域中的變數。更多資訊,請點選此處

less_mixins_as_functions.htm
廣告