Иногда бывают ситуации, когда у нас есть
некая математическая операция, которая не
должна быть воспринята LESS как команда на
вычисление. Например, такая проблема возникает
в CSS функции calc
:
div {
width: calc(100% - 10px);
}
К счастью, LESS умеет корректно обрабатывать такие места и не произведет вычисление при компиляции.
Бывают, однако, ситуации, когда выражение, не требующее вычисления, находится в другом месте, например, в переменной, вот так:
@exp: 100% - 10px;
div {
width: calc(@exp);
}
В этом случае в переменную запишется результат
вычисления, и в calc
отправится переменная
с вычисленным значением. Чтобы такого не
произошло, мы можем явно указать, что выражение
должно остаться в неизменной виде.
Для этого выражение нужно взять в кавычки и поставить перед ним знак тильды:
@exp: ~'100% - 10px';
div {
width: calc(@exp);
}
Исправьте код, чтобы он заработал корректным образом:
@exp1: 80% + 10px;
@exp2: 30vh - 10px;
div {
width: calc(@exp1);
margin-top: calc(@exp2);
}