2011-11-03 5 views
25

Podczas gdy kochałem compass, po prostu pobiegłem do mylącego problemu. Próbuję odjąć jedną z wartości takich jak to:Odejmowanie nie działa w kompasach.

padding-left:($top-bar-padding*4)-1; 
padding-left:($top-bar-padding*4-1); 
padding-left:($top-bar-padding*4)-1px; 
padding-left:($top-bar-padding*4-1px); 

próbowałem wszystkich tych, a wszystkie one dają mi:

padding-left: 20px -1px;

To naprawdę zastanawiające mnie, bo mam to wcześniej plik .scss i to działa bez zarzutu:

padding:$top-bar-padding*2+2 $top-bar-padding*4;

Wszelkie spostrzeżenia na temat dlaczego tak się dzieje?

+0

Może Możesz opublikować aktualizację jako odpowiedź i przyjmuję je? –

Odpowiedz

48

Musisz mieć przestrzeń przed i po z odejmowania symbol takiego:

($top-bar-padding*4 - 1)
+4

w college'u uczono nas, że łączniki nie są używane w nazwach zmiennych z tego powodu, choć ta rada wydaje się być ignorowana przez autorów css. Wynik ? Ten mylący problem, faceci ze starej szkoły mają często rację! –