Sass Mixin参数

2018-12-30 15:54 更新

描述

SassScript值可以作为mixin中的参数,当mixin包含在mixin中时可以作为变量传递。参数是一个变量的名称,在定义mixin时用逗号分隔。有两种类型的参数,如:

  • 关键字参数

  • 可变参数

关键字参数

显式关键字参数可以用于包含在mixin中。命名的参数可以按任何顺序传递,参数的默认值可以省略。

例如,使用以下代码创建一个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;
 }

可变参数

变量参数用于将任意数量的参数传递给mixin。它包含传递给函数或mixin的关键字参数。传递给mixin的关键字参数可以使用关键字($ args)函数进行访问,该函数返回映射到String的值。

例如,使用以下代码创建一个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>
   <title> Mixin example of sass</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:\ruby\lib\sass\argument.scss:argument.css

接下来执行上面的命令,它将使用下面的代码自动创建 argument.css 文件:

style.css

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

输出

让我们执行以下步骤,看看上面的代码如何工作:

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

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

Sass rules and directives
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号