我在 SASS 中有以下@mixin:
@mixin complexTransform($axis, $perspective, $degrees, $axis2, $px) {
-webkit-transform:
perspective( $perspective )
rotate#{ $axis }( $degrees )
translate#{ $axis2 }( $px );
-moz-transform:
perspective( $perspective )
rotate#{ $axis }( $degrees )
translate#{ $axis2 }( $px );
-o-transform:
perspective( $perspective )
rotate#{ $axis }( $degrees )
translate#{ $axis2 }( $px );
-ms-transform:
perspective( $perspective )
rotate#{ $axis }( $degrees )
translate#{ $axis2 }( $px );
transform:
perspective( $perspective )
rotate#{ $axis }( $degrees )
translate#{ $axis2 }( $px );
}
除了 rotate#{$axis} 和 translate#{$axis} 之后的括号外,一切都编译得很好。这是编译后的 CSS 的样子:
-webkit-transform: perspective(600px) rotateX45deg translateY75px;
-moz-transform: perspective(600px) rotateX45deg translateY75px;
-o-transform: perspective(600px) rotateX45deg translateY75px;
-ms-transform: perspective(600px) rotateX45deg translateY75px;
transform: perspective(600px) rotateX45deg translateY75px;
我做错了什么?或者这是一种完全错误的方式来做到这一点?
先感谢您!
EIDT:没关系!找到了一个解决方案......它可能有点“hacky”,但至少它有效。我在这里发布它以防其他人遇到同样的问题。
这是改进的工作混合:
@mixin complexTransform($axis, $perspective, $degrees, $axis2, $px) {
-webkit-transform:
perspective( $perspective + px )
rotate#{$axis +"(" $degrees +deg +")" }
translate#{ $axis2 +"(" + $px +px +")" };
-moz-transform:
perspective( $perspective + px )
rotate#{$axis +"(" $degrees +deg +")" }
translate#{ $axis2 +"(" + $px +px +")" };
-o-transform:
perspective( $perspective + px )
rotate#{$axis +"(" $degrees +deg +")" }
translate#{ $axis2 +"(" + $px +px +")" };
-ms-transform:
perspective( $perspective + px )
rotate#{$axis +"(" $degrees +deg +")" }
translate#{ $axis2 +"(" + $px +px +")" };
transform:
perspective( $perspective + px )
rotate#{$axis +"(" $degrees +deg +")" }
translate#{ $axis2 +"(" + $px +px +")" };
}