我似乎无法在任何地方找到堆栈溢出的特定问题的答案。
我正在使用指南针,正在为box-shadow
/text-shadow
构建@mixin
。
我想知道是否可以在sass/scss中设置默认参数?
这是我当前的代码:
@mixin outer-glow($color, $type) {
@if $type == 'text' {
@include text-shadow(0 0 2px #{$color});
@include text-shadow(0 0 .125rem #{$color}); // 2px
} @else {
@include box-shadow(0 0 2px #{$color});
@include box-shadow(0 0 .125rem #{$color}); // 2px
}
}
如果未声明$type
,我想使用此@mixin
并将其默认为box-shadow
:
// declaration
@include outer-glow($my-color);
// output
would compile to box-shadow
// declaration
@include outer-glow($my-color, text);
// output
would compile to text-shadow
我发现了这个有用的帖子,回答了我的问题。
所以我已经编辑了我的@mixin
,现在我可以按照预期使用它,如果现在分配了参数,则默认为box-shadow
:
@mixin outer-glow($color, $type: box) {
@if $type == 'text' {
@include text-shadow(0 0 2px #{$color});
@include text-shadow(0 0 .125rem #{$color}); // 2px
} @else {
@include box-shadow(0 0 2px #{$color});
@include box-shadow(0 0 .125rem #{$color}); // 2px
}
}