Recentemente ho iniziato a utilizzare il metodo calc (...) all'interno dei CSS. Ho appreso rapidamente che il codice come: width: calc(100%-2)
non funziona, sebbene l'aggiunta di spazi bianchi prima e dopo l'operatore -
risolverà il problema e il metodo calc funzionerà correttamente.Perché un + o - deve essere circondato da spazi bianchi all'interno del metodo Calc()?
Dopo aver fatto un po 'di ricerca ho trovato più post del blog di riferimento che lo spazio bianco è richiesto e molti hanno anche sottolineato la specifica (CSS3 8.1.1) in cui si afferma:
Inoltre, spazi bianchi è richiesto entrambi i lati degli operatori + e - . (Il * e/operaters possono essere utilizzati senza spazi bianchi intorno a loro.)
Ora, chiaramente, le specifiche ci dice che questi operatori devono essere avvolti in spazi, ma perché? Ho letto oltre le specifiche (attraverso le sezioni 8.1.2-4) e se è spiegato in queste parti aggiuntive, non capisco il ragionamento.
In termini semplici, qualcuno potrebbe spiegare perché è stato specificato che calc(100% - 1)
o anche calc(100%/2)
è sintassi accettabile ma non calc(100%-1)
?
I potrebbe supporre che è così che si può utilizzare numeri negativi nei calcoli. – Turnip
@Festive Non capisco perché hai bisogno di numeri negativi lì? – nicael
@FestiveTurnip Questa non è una buona ipotesi. Gli spazi sono quasi obbligati a dire un '-' binario da un unario' -'. Non è che nessun'altra lingua richieda di scrivere '3 - 2' invece di' 3-2'. – meagar