2013-02-19 17 views
10

Czy istnieje ograniczenie liczby operandów, które można wykonać w ramach funkcji CSS calc()?CSS calc() nie działa

to działa:

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

to nie działa:

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

Oczywiście, ten ostatni jest co muszę, bo trzeba zrównoważyć kilka pikseli, ale jak tylko spróbuj to zrobić, wartość wydaje się po prostu iść do zera. Wszelkie docenianie jest doceniane!

Odpowiedz

38

Cytując MDN

W + i - operatorzy zawsze musi być otoczony białymi znakami. Argument na przykład będzie analizowany jako procent , a następnie ujemna długość, niepoprawna ekspresja, podczas gdy operand z calc(50% - 8px) jest wartością procentową, po której następuje znak minus i długość. Operatory * i / nie wymagają białych znaków, ale dodanie do spójności jest dozwolone i zalecane.

Wypakuj swoje rzeczy i prawdopodobnie to zadziała.

+2

Przykład roboczy: http://jsfiddle.net/mqu88/ – Eric

+0

Dzięki Ryan. To było dokładnie to. Bardzo doceniane. – itsmikem

+0

Eric, wydajesz się, że zredagowałeś moje pytanie. Jestem tu nowy. Jak to zrobiłeś i jak mogę zapewnić lepsze formatowanie pytań? – itsmikem