在函数内重用较少的变量和类

时间:2017-01-03 18:55:24

标签: css less

是否可以重用作为变量的Less函数内的类?

示例:

@red: #F16251;

.smalltext { font-size: 10px }
.mediumtext { font-size: 12px }
.largetext { font-size: 14px }
.xtralargetext { font-size: 20px }

.myfunction(@size: smalltext, @color: @red) {
    @.{size}; /*  This will need to call the class defined above */
    color: @color;
}

如果可能的话,如何做到这一点? @.{size}会抛出错误。我只想像这样调用函数:

.myfunction(mediumtext, #000000);

并希望它使用.mediumtext类规则。可能?我在上面的代码btw上收到了编译错误。

1 个答案:

答案 0 :(得分:2)

简而言之,不,目前我们无法将mixin分配给变量,也不能通过名称调用mixin。然而,对于你的例子,有基于DR的"" (见Passing Rulesets to Mixins)方式:

.medium-text {font-size: 12px}

.my-mixin(@size, @color) {
    @size();
    color: @color;
}

.foo {
    .my-mixin({.medium-text}, red);
}