如何保留SASS/SCSS mixin的括号?

use*_*713 7 sass css3

我正在尝试为CSS转换制作SCSS mixin,我想传递参数.但是,使用变量时,我的位置值的括号将被删除.

编译后的外观如何:

transform: translateX(-100px);
Run Code Online (Sandbox Code Playgroud)

我的混音:

@mixin fadeup ($direction, $value) {
transform: translate#{$direction} ($value);
}
Run Code Online (Sandbox Code Playgroud)

什么时候叫:

@include fadeup(X, 100px);
Run Code Online (Sandbox Code Playgroud)

遗憾地输出:

transform: translateX 100px;
Run Code Online (Sandbox Code Playgroud)

所以围绕100px值的括号丢失了,所以它不起作用.

我有什么想法可以保留括号吗?

brb*_*ing 7

在我看来,你可以用它unquote来帮助维护()......这样的事情应该有效:

@mixin fadeup ($direction, $value) {
  transform: translate#{$direction}unquote("("#{$value}")");
}

.foo {
  @include fadeup(X, 100px);
}

.bar {
  @include fadeup(Y, 100px);
}
Run Code Online (Sandbox Code Playgroud)

编译为:

.foo {
  transform: translateX(100px);
}

.bar {
  transform: translateY(100px);
}
Run Code Online (Sandbox Code Playgroud)