Sass Mixin参数

SassScript值可作为被传递时混入被包含,并且可作为混入变量中混入的参数。该参数是由逗号同时定义一个混合分离变量名称。有两种类型的参数如下:
  • 关键字参数
  • 变量参数

关键字参数

显式关键字参数可用于混入包含。这被命名的参数可以以任何顺序传递,并且可以使用默认参数的默认值。
例如,用下面的代码创建一个SASS文件:
@mixin bordered($color, $width: 2px) {
  color: #77C1EF;
  border: $width solid black;
  width: 450px;
}
.style  {
  @include bordered($color:#77C1EF, $width: 2px);
}
上面的代码将被编译到CSS文件,如下所示:
.style {
  color: #77C1EF;
  border: 2px solid black;
  width: 450px;
 }

变量参数

可变参数用于任意数量的参数传递给混入。它包含传递给函数或混入关键字参数。传递给混入关键字参数可以使用关键字($args)函数返回映射到字符串值进行访问。
例如,创建一个SASS文件,用下面的代码:
@mixin colors($background) {
  background-color: $background;
}

$values: magenta, red, orange;
.container {
  @include colors($values...);
}
上面的代码会编译为CSS文件,如下所示:
.container {
  background-color: magenta;
}

示例

下面的例子演示了SCSS文件中的参数使用:

argument.html

<html>
<head><meta charset="utf-8"> <title>Sass Mixin 示例</title>
   <link rel="stylesheet" type="text/css" href="argument.css"/>
</head>
<body>
   <div class="style">
   <h1>Example using arguments</h1>
   <p>Different Colors</p>
   <ul>
   	<li>Red</li>
   	<li>Green</li>
   	<li>Blue</li>
   </ul>
   </div>
</body>
</html>
接下来,创建文件argument.scss。

argument.scss

@mixin bordered($width: 2px) {
  background-color: #77C1EF;
  border: $width solid black;
  width: 450px;
}

.style  {
  @include bordered(2px);
}
你可以告诉SASS监视文件,并随时使用下面的命令更新SASS文件来修改CSS:
sass --watch C:\Ruby22-x64\argument.scss:argument.css
接着执行上面的命令,它会自动创建argument.css文件,下面的代码:

style.css

.style {
  background-color: #77C1EF;
  border: 2px solid black;
  width: 450px;
 }

输出结果

让我们来执行以下步骤,看看上面的代码工作:
保存上面的html代码在argument.html文件。在浏览器中打开该HTML文件,得到输出如下显示。


上一篇: Sass包含mixin 下一篇: 传递内容块到Mixin