2013-02-19 23 views
10

Esiste un limite al numero di operandi che è possibile avere in una funzione CSS calc()?Calc CSS() non funzionante

Questo funziona:

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

Questo non funziona:

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

Naturalmente, il secondo è quello che mi serve, perché ho bisogno di compensare un paio di pixel, ma non appena ho prova a farlo, il valore sembra andare solo a zero. Qualsiasi comprensione è apprezzata!

risposta

38

Per citare MDN

I + e - gli operatori devono essere sempre circondati da spazi bianchi. L'operando di verrà analizzato come una percentuale seguita da una lunghezza negativa, un'espressione non valida, mentre l'operando di calc(50% - 8px) è una percentuale seguita da un segno meno e una lunghezza. Gli operatori * e / non richiedono spazi bianchi, ma l'aggiunta di per coerenza è consentita e consigliata.

Spazia la tua roba e probabilmente funzionerà.

+2

Esempio di lavoro: http://jsfiddle.net/mqu88/ – Eric

+0

Grazie Ryan. E 'stato esattamente questo. Molto apprezzato. – itsmikem

+0

Eric, sembra che tu abbia modificato la mia domanda. Sono nuovo qui. Come hai fatto e come posso garantire che formulo meglio le mie domande? – itsmikem