2013-03-08 15 views
13

Sto scrivendo un @mixin con qualche calcolo matematico che calcola la larghezza percentuale di un elemento, ma poiché è molto utile vorrei usare la stessa funzione anche per altre proprietà, come margini e imbottiture.Uso delle variabili per le proprietà CSS in Sass

C'è un modo per passare il nome della proprietà come argomento a un mixin?

@mixin w_fluid($property_name, $w_element,$w_parent:16) { 
    $property_name: percentage(($w_element/$w_parent)); 
} 

risposta

27

è necessario utilizzare interpolation (ad es. #{$var}) sul tuo variabili in modo che Sass di trattarlo come una proprietà CSS. Senza di esso, stai solo eseguendo l'incarico variabile.

@mixin w_fluid($property_name, $w_element, $w_parent:16) { 
    #{$property_name}: percentage(($w_element/$w_parent)); 
} 
+1

Grazie rcorbellini, stavo riferimento al nome della proprietà nel blocco di dichiarazione nel modo sbagliato. Quello buono è: # {$ property_name}. Grazie! –

+0

cool: D Se la risposta qui ti ha aiutato, potresti volerlo contrassegnare come "accettato". – rcorbellini

5

Oltre alla risposta @rcorbellini

È possibile utilizzare stringhe e variabili insieme

@mixin margin($direction) { // element spacing 

    margin-#{$direction}: 10px; 

} 
Problemi correlati