我正在尝试使用SASS mixin在动画上自动使用供应商前缀。这是mixin:
@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;
}
}
生成的css如下所示:
@-o-keyframes $name { ... }
@-moz-keyframes $name { ... }
@-webkit-keyframes $name { ... }
@keyframes $name { ... }
SASS根本不会将$name
替换为test
。这是一个已知的bug还是有变通方法?我找不到与此问题相关的任何内容。顺便说一句,我正在使用SASS版本3.4.1。
答案 0 :(得分:8)
在mixin中将$name
更改为#{$name}
@mixin keyframes($name) {
@-o-keyframes #{$name} { @content };
@-moz-keyframes #{$name} { @content };
@-webkit-keyframes #{$name} { @content };
@keyframes #{$name} { @content };
}