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文件中使用参数:
<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 。
@mixin bordered($width: 2px) { background-color: #77C1EF; border: $width solid black; width: 450px; } .style { @include bordered(2px); }
您可以通过使用以下命令让SASS查看文件并在SASS文件更改时更新CSS:
sass --watch C:rubylibsassargument.scss:argument.css
接下来执行上面的命令,它将使用下面的代码自动创建 argument.css 文件:
.style { background-color: #77C1EF; border: 2px solid black; width: 450px; }
让我们执行以下步骤,看看上面的代码如何工作:
将上述html代码保存在 argument.htm 文件中。
在浏览器中打开此HTML文件,将显示如下输出。
描述Extend用于将选择器移动到要使用的属性,这有助于减少css生成的代码。例子下面的示例是减少LESS文件中的css大小:extend_syn...
描述当最后在扩展参数中标识关键字 all 时,LESS将该选择器作为另一个选择器的一部分。 匹配的选择器部分将被extend替换,形成一...
描述选择器可以引用任何变量,它是在编译时构建的。变量名称必须放在用@符号前缀的花括号({})内。例子下面的例子演示了在LESS...