2013-01-02 23 views
7

我不能跟一個mixin得到薩斯輸出!important關鍵字,我已經試過:如何使用!mixin中的重要關鍵字?

@include font-size($font-size-sml) !important; 

和:

@include font-size($font-size-sml !important); 

它總是拋出一個錯誤。

編輯

我結束了這個工作正常:

@mixin font-size($font-size, $sledge-hammer: "") { 
    font-size: $font-size #{$sledge-hammer}; 
    font-size: ($font-size/$base-font-size)+rem #{$sledge-hammer}; 
    line-height: ceil($font-size/$base-line-height) * ($base-line-height/$font-size); 
} 
+0

什麼錯誤,你得到什麼? – Jeroen

+0

我們需要看到你打來的混音,問題出在那裏。 – cimmanon

+0

這裏是混合: '@mixin font-size($ font-size){ font-size:$ font-size; font-size:($ font-size/$ base-font-size)* 1rem; line-height:ceil($ font-size/$ base-line-height)*($ base-line-height/$ font-size); } –

回答

8

不能添加!important在SASS整個混入(可以在更短的,我認爲)喜歡你」重新嘗試在第一個例子中做。

第二個例子適用於我(你可以傳遞重要的參數),我的意思是,如果你直接使用$font-size-sml作爲它的屬性值,所以也許檢查你的語法。

但是,如果它真的不適合你,你可以用flag做一些事情,將一個important_flag設置爲mixin參數,然後在mixin中使用if-else語句。事情是這樣的:

@mixin large-text($prop, $is_imp: false) { 
    @if $is_imp == false { 
     font-size: $prop; 
    } @else { 
     font-size: $prop !important; 
    } 
} 

也許這不是一個富有魅力的方式做到這一點,但它工作;-)

+0

我無法得到第二個例子的工作,我剛剛開始編寫Sass,所以我是新的語法。我寧願不使用mixin來應用'!important',因爲它看起來有點矯枉過正,我認爲在調用mixin時能夠添加它很容易? –

+0

在你的代碼中,你使用'$ font-size'來做簡單的數學運算,比如'$ font-size/$ base-font-size'。所以你可以傳參數'$ font-size-sml!important',因爲它看起來像'$ font-size-sml!important/$ base-font-size'這是錯誤的 –

+0

沒有太多的運氣,我害怕。 –