当我使用默认的less.js时,我可以在函数中返回一个变量,如:
.function(@x,@y) {
.innerFunction() when (@x = @y) {
@output: @x
}
.innerFunction() when not (@x = @y) {
@output: @x/10;
}
.innerFunction() when (...) {
@output: @x + @y;
}
property: @output;
}
这对于创建更复杂的更少函数非常实用,但它不适用于lessphp ...有没有办法在lessphp中返回变量?
答案 0 :(得分:0)
Lessphp不允许变量泄漏到定义它们的规则范围之外。
lessphp documentation 说明了这一点:
变量只能在当前范围或任何范围内使用 封闭的范围。
你可以像这样重新格式化mixin以在less.js和lessphp中工作的方式可能是这样的:
.function(@x,@y) {
.innerFunction() when (@x = @y) {
.output(@x);
}
.innerFunction() when not (@x = @y) {
.output(@x/10);
}
.output(@output) {
property: @output;
};
.innerFunction();
}
例如在LESS中调用mixin:
.test-class {
.function(20,11);
}
将为您提供以下CSS:
.test-class {
property: 2;
}
当然,如何构建更复杂的mixins有很多不同的方法,但解决方案/方法将取决于您在特定情况下想要实现的目标。