Sass mixin并没有替换变量
我正在尝试使用SASS mixin在动画中自动使用供应商前缀。这是mixin:Sass mixin并没有替换变量,sass,Sass,我正在尝试使用SASS mixin在动画中自动使用供应商前缀。这是mixin: @mixin keyframes($name) { @-o-keyframes $name { @content }; @-moz-keyframes $name { @content }; @-webkit-keyframes $name { @content }; @keyframes $name { @content }; } 现在,如果我像这样包括它: @include k
@mixin keyframes($name) {
@-o-keyframes $name { @content };
@-moz-keyframes $name { @content };
@-webkit-keyframes $name { @content };
@keyframes $name { @content };
}
现在,如果我像这样包括它:
@include keyframes(test) {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@-o-keyframes $name { ... }
@-moz-keyframes $name { ... }
@-webkit-keyframes $name { ... }
@keyframes $name { ... }
生成的css如下所示:
@include keyframes(test) {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@-o-keyframes $name { ... }
@-moz-keyframes $name { ... }
@-webkit-keyframes $name { ... }
@keyframes $name { ... }
SASS只是没有将
$name
替换为test
。这是一个已知的bug还是有解决方法?我找不到与这个问题有关的任何东西。顺便说一下,我正在使用SASS版本3.4.1。在mixin中将$name
更改为{$name}
@mixin keyframes($name) {
@-o-keyframes #{$name} { @content };
@-moz-keyframes #{$name} { @content };
@-webkit-keyframes #{$name} { @content };
@keyframes #{$name} { @content };
}
这是可行的,但它是一个bug,对吗?文档中没有提到这一点。实际上是的,但根据文档,它应该可以工作,而不必做插值:(这个问题也突然出现在我的项目上……你的回答解决了问题,但我想知道为什么会发生这种情况)