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: 気にしないで!解決策が見つかりました...少し「ハック」かもしれませんが、少なくとも機能します。他の誰かが同じ問題に遭遇した場合に備えて、ここに投稿しています。
改善された動作中のミックスインは次のとおりです。
@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 +")" };
}