将变量从 SASS mixin 传递到 CSS Value
Pass variable from SASS mixin to CSS Value
我们如何将变量 $name
的值传递给 CSS 值。
我们的 $name
变量 = "rotateX"
但是 transform: $name( 360deg );
似乎没有输出 transform: rotateX( 360deg );
即使我们使用插值:
这个SCSS
@mixin rotate( $name ) {
animation-name: $name;
animation-duration: 5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
@keyframes #{ $name } {
100% {
transform: #{ $name } ( 360deg );
}
}
}
.rotate-x {
@include rotate( $name: rotateX );
}
输出这个 CSS:
.rotate-x {
animation-name: rotateX;
animation-duration: 5s;
animation-timing-function: linear;
animation-iteration-count: infinite; }
@keyframes rotateX {
100% {
transform: rotateX 360deg; } }
出于某种原因,括号绕过 360deg
值,打破了整个 CSS 规则。
我们如何正确添加 transform: rotateX( 360deg )
其中 rotateX
是一个变量?
这可能不是最佳解决方案。但它会解决你的问题。
试试下面的代码。
@mixin rotate( $name ) {
animation-name: $name;
animation-duration: 5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
@keyframes #{ $name } {
100% {
transform: #{ $name }#{"("}360deg#{")"};
}
}
}
.rotate-x {
@include rotate( $name: rotateX );
}
我们如何将变量 $name
的值传递给 CSS 值。
我们的 $name
变量 = "rotateX"
但是 transform: $name( 360deg );
似乎没有输出 transform: rotateX( 360deg );
即使我们使用插值:
这个SCSS
@mixin rotate( $name ) {
animation-name: $name;
animation-duration: 5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
@keyframes #{ $name } {
100% {
transform: #{ $name } ( 360deg );
}
}
}
.rotate-x {
@include rotate( $name: rotateX );
}
输出这个 CSS:
.rotate-x {
animation-name: rotateX;
animation-duration: 5s;
animation-timing-function: linear;
animation-iteration-count: infinite; }
@keyframes rotateX {
100% {
transform: rotateX 360deg; } }
出于某种原因,括号绕过 360deg
值,打破了整个 CSS 规则。
我们如何正确添加 transform: rotateX( 360deg )
其中 rotateX
是一个变量?
这可能不是最佳解决方案。但它会解决你的问题。 试试下面的代码。
@mixin rotate( $name ) {
animation-name: $name;
animation-duration: 5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
@keyframes #{ $name } {
100% {
transform: #{ $name }#{"("}360deg#{")"};
}
}
}
.rotate-x {
@include rotate( $name: rotateX );
}