2016-05-29 9 views
1

私は変換を使用して、それに回転を追加したいが、失敗を得るためにこの小さなスニペットを持っています...これは間違っていますか?私はこの間違ったことをする場合は、私は新しいので、ごめんなさい。LESS/CSS/Mixinsを使用し、クラスの値を渡す

CSS:

.class { 
    &::before { 
     .transform(.rotate(@deg: 45deg)); 
    } 
    &::after { 
     .transform(.rotate(@deg: -45deg)); 
    } 
} 

MIXIN:あなたは上記の設定のものを持っている

.transform(@string){ 
    -webkit-transform: @string; 
    -moz-transform:  @string; 
    -ms-transform:  @string; 
    -o-transform:  @string; 
} 

.rotate (@deg) { 
    -webkit-transform: rotate(@deg); 
    -moz-transform:  rotate(@deg); 
    -ms-transform:  rotate(@deg); 
    -o-transform:  rotate(@deg); 
} 
+0

代わりにオートプレフィクサーを使用してください。 – SLaks

+0

申し訳ありません、どうすればいいですか?私は本当にこれに新しいです。前もって感謝します。 – James

+0

https://github.com/postcss/autoprefixerまたはhttps://leaverou.github.io/prefixfree/ – SLaks

答えて

3

そうな方法、あなたは基本的に変換ミックスインに全体の回転のミックスインを渡しています。それは実際に解析する方法を知っていれば、かなり歪んだコードに終わるでしょう。代わりに、トップミックスインを使用して、それに回転を渡すことができます。これはあなたが複数のトランスフォームを使用できるようにするために、より良いルートです(これはかなり一般的な使用法です)。ここでは例です:

.transform(@string){ 
    -webkit-transform: @string; 
    -moz-transform:  @string; 
    -ms-transform:  @string; 
    -o-transform:  @string; 
} 

.class { 
    &::before { 
    .transform(rotate(45deg)); 
    } 
} 

そして、あなたは、将来の時点で回転と平行移動を呼び出すしたい場合、それは同様に、翻訳の追加と同じくらい簡単だろう。

.class { 
    &::before { 
    .transform(translateY(-50%) rotate(45deg)); 
    } 
} 
+0

それでは、エラーを取り除いているようですので、.transform内でクロスブラウザのCSSを生成するためにmixinを作成/呼び出す必要はありませんか? – James

+0

いいえ、接頭辞はすべてtransformプロパティでカバーされています。回転はそれ自身の財産ではありません。また、必要な接頭辞についてはhttp://shouldiprefix.com/をご覧ください。私はWebkitとmsだけが実際に必要と思う。 –

+0

さて、生成されたソースからちょうど気づいた:)ほとんど助けの手の仲間のために笑感謝していた。 – James

関連する問題