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

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

编译后的外观如何:

transform: translateX(-100px);

我的混音:

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

什么时候叫:

@include fadeup(X,100px);

遗憾地输出

transform: translateX 100px;

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

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

解决方法

在我看来你可以用unquote来帮助维护()…这样的事情应该有效:
@mixin fadeup ($direction,$value) {
  transform: translate#{$direction}unquote("("#{$value}")");
}

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

.bar {
  @include fadeup(Y,100px);
}

编译为:

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

.bar {
  transform: translateY(100px);
}

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效