2013-01-02 12 views
7

Non riesco a Sass per emettere la parola chiave !important con un mixin, ho provato:Come utilizzare! Parola chiave importante in un mixin?

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

E:

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

getta sempre un errore.

EDIT

ho finito con questo che funziona bene:

@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

Qual è l'errore che si ottiene? – Jeroen

+0

Abbiamo bisogno di vedere il mixin che stai chiamando, il problema sta lì. – cimmanon

+0

Ecco il mixin: '@mixin font-size ($ font-size) { font-size: $ font-size; dimensione carattere: ($ font-size/$ base-font-size) * 1rem; altezza riga: ceil ($ font-size/$ base-line-height) * ($ base-line-height/$ font-size); } ' –

risposta

8

non è possibile aggiungere !important a tutto mixin in SASS (E 'possibile in meno credo) come te' stai cercando di fare nel primo esempio.

Il secondo esempio funziona per me (è possibile passare! Importante con un parametro), voglio dire, se si utilizza $font-size-sml direttamente come valore di una proprietà funziona, quindi forse controllare la sintassi.

Ma se non funziona davvero per te, puoi fare qualcosa con flag, impostare un important_flag come parametro mixin e quindi usare if-else nel mixin. Qualcosa di simile a questo:

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

Forse non è un modo affascinante per farlo, ma funziona ;-)

+0

Non riesco a ottenere il secondo esempio di lavoro, ho appena iniziato a scrivere Sass quindi sono nuovo alla sintassi. Preferirei non usare un mixin per applicare "! Important" in quanto sembra eccessivo, ho pensato che sarebbe abbastanza facile poterlo aggiungere quando si chiama un mixin? –

+0

nel tuo codice, usi '$ font-size' per fare semplici calcoli matematici, come' $ font-size/$ base-font-size'. Quindi puoi passare come parametro '$ font-size-sml! Important' perché assomigli' $ font-size-sml! Important/$ base-font-size' che è sbagliato –

+0

Non ho molta fortuna con esso I ' sono spaventato. –