2016-07-22 77 views
0

我开始使用sass,在这一刻我开始发现mixin并编写自己的一个。 我有一个mixin:sass mixin - 并非所有使用的参数

@mixin column-set ($number, $width, $gap, $rule-style, $rule-width, $rule-color, $col-span) { 
-webkit-column-count: $number;  /* Chrome, Safari, Opera */ 
-moz-column-count: $number;  /* Firefox */ 
column-count: $number; 
-webkit-column-width: $width;  /* Chrome, Safari, Opera */ 
-moz-column-width: $width;   /* Firefox */ 
column-width: $width; 
-webkit-column-gap: $gap;   /* Chrome, Safari, Opera */ 
-moz-column-gap: $gap;    /* Firefox */ 
column-gap: $gap; 
-webkit-column-rule-style: $rule-style; /* Chrome, Safari, Opera */ 
-moz-column-rule-style: $rule-style;  /* Firefox */ 
column-rule-style: $rule-style; 
-webkit-column-rule-width: $rule-width; /* Chrome, Safari, Opera */ 
-moz-column-rule-width: $rule-width;  /* Firefox */ 
column-rule-width: $rule-width; 
-webkit-column-rule-color: $rule-color; /* Chrome, Safari, Opera */ 
-moz-column-rule-color: $rule-color;  /* Firefox */ 
column-rule-color: $rule-color; 
-webkit-column-span: $col-span;   /* Chrome, Safari, Opera */ 
column-span: $col-span; 
} 

我想使用它,但并不总是与所有的参数,为此我整理好我是怎么想的,我需要他们。但是看起来像我打电话给我混入我需要输入所有参数。有什么办法可以避免这种情况? 例如 call1 @include column-set(3,40px); @包括列集(2,40px,10px,solid,1px,blue);

我试图找到答案,但没有成功。谁能帮忙?

回答

1

您可以设置一个默认值,如果不设置默认值用于在@include值:

@mixin column-set ($number:3, $width:200px, $gap:20px){ 
... 
} 

您可以设置null也。

@mixin column-set ($number:3, $width:null, $gap:null){ 
... 
} 

在包括你可以打电话给你要使用的参数:

.class{ 
    @include column-set($gap:10px) 
}