将 scss mixin 设置回 true
Setting a scss mixin back to true
我正在学习 SASS/SCSS 并且正在尝试使用 mixins,试图了解可用的不同可接受变体。
下面是我用来创建 box-shadows
的内容,我使用 if 和 else 语句来显示带有或不带有插图 属性.
的以太币
@mixin box-shadow($inset: false, $horizontal: 0px, $vertical: 1px, $blur: 2px, $color: 000) {
@if $inset {
box-shadow: $inset $horizontal $vertical $blur $color;
}
@else {
box-shadow: $horizontal $vertical $blur $color;
}
}
我想知道如何将 $inset: false
设置为 true
以使其按预期工作。
或者是否有更有效的方法来实现我想要做的事情?
我认为不要包含变量 $inset
,只需包含关键字 inset
。这样,您可以传递 true 或 false,它会正确解析:
@mixin box-shadow($inset: false, $horizontal: 0px, $vertical: 1px, $blur: 2px, $color: 000) {
@if $inset {
box-shadow: inset $horizontal $vertical $blur $color;
}
@else {
box-shadow: $horizontal $vertical $blur $color;
}
}
.no-inset {
@include box-shadow($inset: false);
}
.inset {
@include box-shadow($inset: true);
}
输出:
.no-inset {
box-shadow: 0px 1px 2px 0;
}
.inset {
box-shadow: inset 0px 1px 2px 0;
}
我正在学习 SASS/SCSS 并且正在尝试使用 mixins,试图了解可用的不同可接受变体。
下面是我用来创建 box-shadows
的内容,我使用 if 和 else 语句来显示带有或不带有插图 属性.
@mixin box-shadow($inset: false, $horizontal: 0px, $vertical: 1px, $blur: 2px, $color: 000) {
@if $inset {
box-shadow: $inset $horizontal $vertical $blur $color;
}
@else {
box-shadow: $horizontal $vertical $blur $color;
}
}
我想知道如何将 $inset: false
设置为 true
以使其按预期工作。
或者是否有更有效的方法来实现我想要做的事情?
我认为不要包含变量 $inset
,只需包含关键字 inset
。这样,您可以传递 true 或 false,它会正确解析:
@mixin box-shadow($inset: false, $horizontal: 0px, $vertical: 1px, $blur: 2px, $color: 000) {
@if $inset {
box-shadow: inset $horizontal $vertical $blur $color;
}
@else {
box-shadow: $horizontal $vertical $blur $color;
}
}
.no-inset {
@include box-shadow($inset: false);
}
.inset {
@include box-shadow($inset: true);
}
输出:
.no-inset {
box-shadow: 0px 1px 2px 0;
}
.inset {
box-shadow: inset 0px 1px 2px 0;
}