如果未使用变量,是否可以使用默认 属性 值? SCSS
Is there a way to use default property value if the variable not used? SCSS
首先,我为提取常用组件、调色板、字体的应用程序创建了 UI/UX,并将它们与媒体查询一起制作成库。我意识到有些组件本质上是相同的,只是在高度或宽度等几个属性上有所不同。所以我制作了组件样式和可以随时随地自定义的组件,所以当涉及到实际的界面实现时,我基本上可以玩乐高了。
问题在标题里。我可以以某种方式为变量设置默认值吗?所以当它没有传入时,我不会收到错误,而是显示为默认值?如果是,最简单的方法和最佳实践是什么?
组件 SCSS:
@mixin component($width, $height, $color) {
.component{
height: $height;
width: $width;
.somethingNested {
color: $color;
}
...
}
@content (if something needs to be overwritten)
}
是的,这是可能的。你在参数后面加一个: value
.
@mixin component($width: 80px, $height: 80px, $color: white) {
...
}
提示:mixin 支持位置参数和命名参数。
// you wanna keep the default $width and $height but change $color
// with positional argument you have to repeat yourself
.foo {
@include component(80px, 80px, pink);
}
// with named argument, just provide the $color
. foo {
@include component($color: pink);
}
参考:https://sass-lang.com/documentation/at-rules/mixin#optional-arguments
首先,我为提取常用组件、调色板、字体的应用程序创建了 UI/UX,并将它们与媒体查询一起制作成库。我意识到有些组件本质上是相同的,只是在高度或宽度等几个属性上有所不同。所以我制作了组件样式和可以随时随地自定义的组件,所以当涉及到实际的界面实现时,我基本上可以玩乐高了。
问题在标题里。我可以以某种方式为变量设置默认值吗?所以当它没有传入时,我不会收到错误,而是显示为默认值?如果是,最简单的方法和最佳实践是什么?
组件 SCSS:
@mixin component($width, $height, $color) {
.component{
height: $height;
width: $width;
.somethingNested {
color: $color;
}
...
}
@content (if something needs to be overwritten)
}
是的,这是可能的。你在参数后面加一个: value
.
@mixin component($width: 80px, $height: 80px, $color: white) {
...
}
提示:mixin 支持位置参数和命名参数。
// you wanna keep the default $width and $height but change $color
// with positional argument you have to repeat yourself
.foo {
@include component(80px, 80px, pink);
}
// with named argument, just provide the $color
. foo {
@include component($color: pink);
}
参考:https://sass-lang.com/documentation/at-rules/mixin#optional-arguments