我有一个名为“.align”的参数化mixin,其中一个参数是一个高度列表:
.align(@parent, @child, @heights) ...
我这样称呼函数:
.align(rectangle, img, 154px 152px 166px 166px 159px 112px);
当以这种方式调用函数时,我收到错误“在无效类型上操作”。我已将问题隔离到“.align”中的这段代码:
@highest-height: max(@heights);
这对我来说非常奇怪,因为1.我之前完成了几乎完全相同的事情。因为当我把高度列表(154px 152px 166px 166px 159px 112px)放入mixin时,而不是通过它mixin,它在“max”函数中工作正常。
答案 0 :(得分:0)
(临时回答:) 这个最小测试按预期编译(少于1.7.4):
x {
.align(rectangle, img, 154px 152px 166px 166px 159px 112px);
y: @highest-height;
}
.align(@parent, @child, @heights) {
@highest-height: max(@heights);
}
所以问题出在其他地方。实际上max
函数本身不能生成这样的错误消息,通常是"对无效类型的操作"抛出具有无效操作数的算术表达式(类似(1 + a)
)。所以我想我们需要更多代码来找出错误的内容。