2016-12-05 38 views
2

私はWebpackを使用してAngular 2に取り組んでいます。自分のコンポーネントにSCSSファイルを作成し、その中に以下のコードを入れましたが、SCSSミックスインは動作していません。他のCSSはまだ正常に動作しています。また、変数を作成しても正常に動作し、コードを構築している間にエラーは表示されません。Sass関数を書く正しい方法は何ですか?

@mixin widthbypercentage($from-number, $to-number) { 
    /* Firefox */ 
    width: -moz-calc($from-number - $to-number); 
    /* WebKit */ 
    width: -webkit-calc($from-number - $to-number); 
    /* Opera */ 
    width: -o-calc($from-number - $to-number); 
    /* Standard */ 
    width: calc($from-number - $to-number); 
} 

@mixin heightbypercentage($from-number, $to-number) { 
    /* Firefox */ 
    height: -moz-calc($from-number - $to-number); 
    /* WebKit */ 
    height: -webkit-calc($from-number - $to-number); 
    /* Opera */ 
    height: -o-calc($from-number - $to-number); 
    /* Standard */ 
    height: calc($from-number - $to-number); 
} 

.ah-categories-wrapper { 
    position: relative; 
    @include widthbypercentage(100%, 40%); 
    @include heightbypercentage(100%, 130px); 
    margin: 0 auto; 
    border: 1px solid darkgray; 
} 

私もthisリンクを訪問し、コピーして、それらのすべてが完璧に働いている言及した機能を実行します。ここに私のコードです。私は自分のコードに何か間違っているかもしれないと思った。

+0

このgithubの問題を見てみる価値があります:https://github.com/angular/angular-cli/issues/678 –

+0

他のサスの変数は動作しています...ミックスインは機能しません。 –

+0

ここでSass関数を使用するのではなく、autoprefixerを使用してください。そうすれば、ブラウザのプレフィックスをまったく追加する必要はありません。 – zzzzBov

答えて

2

CSS calc()の変数を使用して、彼らはこの#{ }の内側に置く:

@mixin widthbypercentage($from-number, $to-number) { 
    /* Firefox */ 
    width: -moz-calc(#{$from-number} - #{$to-number}); 
    /* WebKit */ 
    width: -webkit-calc(#{$from-number} - #{$to-number}); 
    /* Opera */ 
    width: -o-calc(#{$from-number} - #{$to-number}); 
    /* Standard */ 
    width: calc(#{$from-number} - #{$to-number}); 
} 

@mixin heightbypercentage($from-number, $to-number) { 
    /* Firefox */ 
    height: -moz-calc(#{$from-number} - #{$to-number}); 
    /* WebKit */ 
    height: -webkit-calc(#{$from-number} - #{$to-number}); 
    /* Opera */ 
    height: -o-calc(#{$from-number} - #{$to-number}); 
    /* Standard */ 
    height: calc(#{$from-number} - #{$to-number}); 
} 

.ah-categories-wrapper { 
    position: relative; 
    @include widthbypercentage(100%, 40%); 
    @include heightbypercentage(100%, 130px); 
    margin: 0 auto; 
    border: 1px solid darkgray; 
} 

CSS3 calc()は今fully supported、ブラウザのプレフィックスのため、不要です。

関連する問題