2012-08-02 14 views
9

ich im Moment ziemlich verwirrt bin, wenn es um die Berechnung einen font-size kommtSCSS (Sass) Berechnung: # {}

dies ist die normale Berechnung ich bereits verwenden.

font-size: #{($font-size*0.7)/$em}em

Was ich tun möchte, ist jetzt eine ganze Aussage wie die oben mit einem anderen teilen ... klingt kompliziert ich weiß.

So habe ich #{($font-size*0.7)/$em} Und ich habe #{($font-size*0.8125)/$em}

ich jetzt diese beiden Werte devide will ...

So font-size: #{($font-size*0.7)/$em}/#{($font-size*0.8125)/$em}em.

Aber das funktioniert nicht. Irgendeine Idee, wie ich eine Berechnung mit SASS mache?

Antwort

19

Versuchen:

font-size: #{(($font-size*0.7)/$em)/(($font-size*0.8125)/$em)}em 

Die Interpolation in eine Zeichenkette #{...} sollte das letzte, was nach den Berechnungen durchgeführt werden.

6

ScottS Antwort scheint technisch richtig zu sein, aber warum brauchen Sie überhaupt einen so komplexen Ausdruck in erster Linie? Ausgedrückt als Fraktion kann diese

($font-size * 0.7/$em)/($font-size * 0.8125/$em) = 0.7/0.8125 

Und Ihre endgültige Ausdruck

font-size: #{(0.7/0.8125)}em 

zu

vereinfacht werden ... es wäre nicht wäre?

+1

+1 für einen ausgezeichneten Punkt. Ich habe die Tatsache völlig übersehen, dass die Reihenfolge der Operationen und Werte, die hier verwendet wurden, es erlaubte, zu reduzieren. In der Tat könnte sogar Ihre Antwort praktisch weiter reduziert werden auf etwas wie: 'font-size: 0.86153em' (oder welche Rundung auch immer gewünscht wird), wobei der Bruch bereits vorberechnet ist, was sowohl die Division als auch die Interpolation zurücknimmt zu einer Zeichenfolge. – ScottS

+0

@ScottS: Sie haben Recht, ich habe gerade angenommen, dass die Dezimalbrüche am Ende durch Variablen ersetzt werden würden –