Установите параметрический вывод миксина как переменную в LESS

Как установить параметрический вывод миксина в переменную?

Скажем, у меня есть этот пользовательский миксин со следующими параметрами:

.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