2013-02-19 24 views
10

Gibt es ein Limit, wie viele Operanden Sie innerhalb einer CSS calc() Funktion haben können?CSS calc() funktioniert nicht

Dies funktioniert:

div { 
    left:calc((100%/54)*26); 
    left:-webkit-calc((100%/54)*26); 
} 

dies nicht funktioniert:

div { 
    left:calc(((100%/54)*14)-140px); 
    left:-webkit-calc(((100%/54)*14)-140px); 
} 

Natürlich ist die letztere ist, was ich brauche, weil ich ein paar Pixel kompensieren müssen, aber sobald ich Versuche das zu tun, der Wert scheint einfach auf Null zu gehen. Jeder Einblick wird geschätzt!

Antwort

38

MDN

Die + und - Betreiber Leerzeichen umgeben zitieren immer werden müssen. Der Operand calc(50% -8px) beispielsweise wird durch eine negative Länge, ein ungültiger Ausdruck, während der Operand calc(50% - 8px) ist ein Prozentsatz durch ein Minuszeichen und eine Länge gefolgt gefolgt als Prozentsatz geparst werden. Die Operatoren * und / benötigen keine Whitespaces, aber wird aus Konsistenzgründen hinzugefügt und empfohlen.

Platzieren Sie Ihre Sachen, und es wird wahrscheinlich funktionieren.

+2

Arbeitsbeispiel: http://jsfiddle.net/mqu88/ – Eric

+0

Danke Ryan. Das war es genau. Sehr geschätzt. – itsmikem

+0

Eric, du scheinst meine Frage bearbeitet zu haben. Ich bin neu hier. Wie hast du das gemacht und wie kann ich sicherstellen, dass ich meine Fragen besser formatiere? – itsmikem