誰かが私を助けて、これまで動作していたこのミックスインがなぜ条件付きでそれらを設定する前にvarsを定義する必要があるのかを説明できますか?彼らはSassにスコープを追加しましたか?私は狂ってる?ResuableスピナーCSS3アニメーション。サスが変わった?
私はBundler/Compiler拡張機能を備えたVisual Studio 2015を使用しています。私は、コンパイラの変更履歴、またはSassのドキュメントで、これが変更された場合、または変更されているように見えることはありません。私が知っていることは、このコードに触れてから1年以上経過しており、突然このようにはうまくいきません。
最初の@mixin行の直後に定義から$と$を追加すると、すべてが再び機能します。このミックスインの元のバージョンにはこれらは含まれておらず、正常に動作していました。
@mixin tspin($dir, $dur) {
$from: 0deg;
$to: 360deg;
@if $dir == cw {
$from: 0deg;
$to: 360deg;
}
@if $dir == ccw {
$from: 360deg;
$to: 0deg;
}
@keyframes tspin-#{$dir} { from { transform: rotate($from); } to { transform: rotate($to); } }
animation: tspin-#{$dir} #{$dur}s linear infinite;
}
使用法:
@include tspin("cw", "3");
出力:
animation: tspin-cw 3s linear infinite;
でSCSSのVARSと範囲について
この会談は、私は何が最近変更されたとは思いません。あなたはこのスレッド(2013から)で同じ問題を見るだろう - http://stackoverflow.com/questions/15371332/sass-ignores-variables-defined-in-if-statement if/else内の変数に'!global'キーワードはうまくいきましたが、私はその質問にそれを見ません。 – Harry