2013-03-08 14 views
13

Piszę @mixin z pewną matematyką, która oblicza procentową szerokość elementu, ale ponieważ jest bardzo przydatna, chciałbym użyć tej samej funkcji również dla innych właściwości, takich jak marginesy i paddings.Używanie zmiennych dla właściwości CSS w Sassie

Czy istnieje sposób przekazania nazwy właściwości jako argumentu do mixin?

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

Odpowiedz

27

Trzeba użyć interpolation (np. #{$var}) na zmienną w celu Sass traktować go jako właściwość CSS. Bez tego po prostu wykonujesz przypisanie zmiennych.

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

Dzięki rcorbellini byłem przedstawieniu nazwę właściwości w bloku deklaracji w niewłaściwy sposób. Dobry to: # {$ property_name}. Grazie! –

+0

fajne: D Jeśli odpowiedź tutaj ci pomogła, możesz oznaczyć ją jako "zaakceptowaną". – rcorbellini

5

Oprócz odpowiedzi @rcorbellini

Można użyć zmiennej ciąg i razem

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

    margin-#{$direction}: 10px; 

} 
Powiązane problemy