将值附加到sass mixin中的属性
我有以下sass混音:将值附加到sass mixin中的属性,sass,Sass,我有以下sass混音: @mixin absoluteCenterVertical { position: absolute; top:50%; transform: translateY(-50%); } 我希望能够将额外的变换属性传递给我的mixin,以便像这样使用它 .element { @include absoluteCenterVertical(rotate(45deg)) } 它将编译成 .element { position: absolute; to
@mixin absoluteCenterVertical {
position: absolute;
top:50%;
transform: translateY(-50%);
}
我希望能够将额外的变换属性传递给我的mixin,以便像这样使用它
.element {
@include absoluteCenterVertical(rotate(45deg))
}
它将编译成
.element {
position: absolute;
top:50%;
transform: translateY(-50%) rotate(45deg);
}
如何实现这一点?您可以将与mixin一起使用
@mixin absoluteCenterVertical($extraTransformVals:) {
transform: translateY(-50%) $extraTransformVals;
}
但是,以上要求始终使用@include absoluteCenterVertical(旋转(90))传递参数代码>或任何您可能传递的内容。如果不传递参数,sass将在编译过程中给出错误
如果希望有一个,这样mixin就可以工作,而不需要传递像@include absoluteCenterVertical这样的参数
,必须使用语法@mixin mixinName($argName:$defaultArgValue)
这里有一种方法可以做到:
@mixin absoluteCenterVertical($extraTransformVals: noExtraValues) {
@if $extraTransformVals == noExtraValues {
transform: translateY(-50%);
} @else {
transform: translateY(-50%) $extraTransformVals;
}
}