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 Yiibai Yiibai</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檔案,得到如下輸出顯示。