使用预处理器变量可以轻松设置一个变量并对其进行操作,以便我可以使用它来设置多个属性。 (demo)是否可以使用LESS操作css变量?
虽然与native css variables实验,我发现,我可以将它们与预处理程序变量组合在一起,所以在the following example(使用Firefox)
h1 {
--length: 40px;
@length: var(--length);
line-height: @length;
border: 5px solid tomato;
}
行高为40像素
正确渲染但,当我试图操纵预处理器变量 - like this:
h1 {
--length: 40px;
@length: var(--length);
@length2: @length*2;
line-height: @length;
padding: @length2;
border: 5px solid tomato;
}
...代码失败。
这可能不知?
如果我没有错'var( - length)'是在Less编译器将代码编译成CSS之后,由UA解析为它的值。在编译时,'@ length'的值只是'var( - length)',它不是一个数字,因此会导致编译错误。试着把它作为'@length2:@length〜“* 2”;'看看它是否有效。我无法测试,因为我的浏览器很旧。甚至是'@ length2:〜“calc(@ {length} * 2)”;'。 – Harry
@Harry - 结果是填充得到的值:'var( - length)* 2;' – Danield
''calc()'缠绕?这两个只是猜测。你是否能够在不使用预处理器的情况下将数学运算应用于CSS变量? – Harry