Les compilateurs Less que j'utilise ( OrangeBits et dotless 1.3.0.5 ) traduisent agressivement
body { width: calc(100% - 250px - 1.5em); }
dans
body { width: calc(-151.5%); }
Ce qui n'est évidemment pas souhaité. Je me demande s'il existe un moyen de signaler au compilateur Less d'ignorer essentiellement l'attribut pendant la compilation. J'ai parcouru la documentation de Less et la documentation des deux compilateurs, et je n'ai rien trouvé.
Est-ce que le compilateur Less ou Less prend en charge cela?
Sinon, existe-t-il un extenseur CSS qui le fait?
css
compilation
less
css-calc
Nick Babcock
la source
la source
Réponses:
Less n'évalue plus l'expression à l'intérieur
calc
par défaut depuisv3.00
.Réponse originale (
Less v1.x...2.x
):Faites ceci:
Dans Less 1.4.0, nous aurons une
strictMaths
option qui requiert que tous les calculs Less soient entre parenthèses, donccalc
cela fonctionnera "prêt à l'emploi". C'est une option car c'est un changement majeur. Les premières bêtas de 1.4.0 avaient cette option activée par défaut. La version finale le désactive par défaut.la source
calc(100% - 50px)
dans less.css 1.4.0 et le résultat étaitcalc(50%)
. L'~"..."
astuce impressionnante continue de fonctionner, mais je suis confus par la déclaration " prête à l'emploi", ce qui me fait penser que ce qui précède fonctionnerait. Luke, comment le support ducalc
changement dans Less 1.4.0? Merci!calc(@somePercent ~"-" @someLength)
Un cas d'utilisation très courant de calc est de prendre une largeur de 100% et d'ajouter une marge autour de l'élément.
On peut le faire avec:
la source
-o-calc-
n'est pas encore pris en charge .Il existe plusieurs options d'échappement avec le même résultat:
la source
Il y a une façon plus ordonnée d'inclure des variables à l'intérieur du calcul échappé, comme expliqué dans cet article: La fonction CSS3 calc () ne fonctionne pas avec Less # 974
En utilisant les accolades, vous n'avez pas besoin de fermer et de rouvrir les guillemets qui s'échappent.
la source