Os compiladores Menos que estou usando ( OrangeBits e dotless 1.3.0.5 ) estão traduzindo agressivamente
body { width: calc(100% - 250px - 1.5em); }
para dentro
body { width: calc(-151.5%); }
O que obviamente não é desejado. Gostaria de saber se existe uma maneira de sinalizar para o compilador Less para ignorar essencialmente o atributo durante a compilação. Pesquisei a documentação Menos e a documentação de ambos os compiladores e não consegui encontrar nada.
O compilador Less or a Less suporta isso?
Caso contrário, existe um extensor CSS que sim?
css
compilation
less
css-calc
Nick Babcock
fonte
fonte
Respostas:
Menos não avalia mais a expressão interna
calc
por padrão desde entãov3.00
.Resposta original (
Less v1.x...2.x
):Faça isso:
No Less 1.4.0, teremos uma
strictMaths
opção que exige que todos os cálculos do Less estejam entre colchetes, paracalc
que funcione "fora da caixa". Esta é uma opção, pois é uma grande mudança de ruptura. Os betas anteriores da 1.4.0 tinham essa opção ativada por padrão. A versão de lançamento está desativada por padrão.fonte
calc(100% - 50px)
no less.css 1.4.0 e o resultado foicalc(50%)
. O~"..."
truque impressionante continua a funcionar, mas estou confuso com a afirmação "pronta para uso", que me faz pensar que o descrito acima funcionaria. Luke, como o suporte àcalc
mudança no Less 1.4.0? Obrigado!calc(@somePercent ~"-" @someLength)
Um caso de uso muito comum do calc é usar 100% de largura e adicionar alguma margem ao redor do elemento.
Pode-se fazer isso com:
fonte
-o-calc-
ainda não é suportado .Existem várias opções de escape com o mesmo resultado:
fonte
Existe uma maneira mais organizada de incluir variáveis dentro do calc escapado, conforme explicado neste post: A função CSS3 calc () não funciona com Less # 974
Usando os colchetes, você não precisa fechar e reabrir as aspas que escapam.
fonte