我正在尝试创建一个mixin,它将在px和rem中采用两个参数并输出大小。这是代码:
.sizing (@cssProperty; @sizeValue) {
@cssProperty: ((@sizeValue * @basefont) * 1px);
@cssProperty: (@sizeValue * 1rem);
}
用法如下:
h2 {
.sizing(font-size; 1)
}
应该输出哪个(取决于定义的basefont大小):
h2 {
font-size: 12px;
font-size: 1rem;
}
但simpLESS不会编译它,并说这两行中有错误:
.sizing (@cssProperty; @sizeValue) {
.sizing(font-size; 1);
我做错了什么?是因为变量属性名称吗?
答案 0 :(得分:2)
注意到您正在尝试将变量用作属性名称,而不是使用less不支持的值。
此答案中突出显示了一个黑客攻击解决方法:
How to pass a property name as an argument to a mixin in less
.mixin(@prop, @value) {
Ignore: ~"a;@{prop}:@{value}";
}
答案 1 :(得分:1)