Задайте параметричен миксин изход като променлива в LESS

Как да задам параметричен mixin изход към променлива?

Да кажем, че имам този персонализиран миксин със следните параметри:

.gradient(#555, #333, #777);

Искам това да бъде поставено в променлива, за да мога да се позова на този специфичен градиент в целия си код.

Опаковане по този начин:

@mixin elGradient() {
    @include .gradient(#555, #333, #777);
}

за включване като това:

.element {
    @include elGradient;
}

Получава грешка при анализ.


person lowkey    schedule 17.10.2013    source източник
comment
разбира се LESS не поддържа SASS директиви. виж отдолу.   -  person seven-phases-max    schedule 17.10.2013
comment
Благодаря за отговора, доста неудивително езиково объркване от моя страна...   -  person lowkey    schedule 17.10.2013


Отговори (1)


.elGradient() {
    .gradient(#555, #333, #777);
}

.element {
    .elGradient();
}

Това е най-простият начин. Като алтернатива би имало смисъл да използвате extend функция, ако наистина трябва да включвате същите свойства отново и отново:

.elGradientBase {.gradient(#555, #333, #777)}
.elGradient() {
    &:extend(.elGradientBase all);
}

.element-1 {
    .elGradient();
}

.element-2 {
    .elGradient();
}

// etc.
person seven-phases-max    schedule 17.10.2013