如何将属性名称作为参数传递给mixin in less

Joe*_*eau 4 less less-mixins

我想制作一个函数/ mixin,如果它已经是暗的话会变暗,但是当它很亮时会变亮(normalize/extremeize?)

是否可以通过传递属性名称(颜色,背景颜色,边框右色等)来实现此目的?

.normalize(@color, @amount, @prop: "color") when (lightness(@color) >= 50%)
{
    @prop:lighten(@color, @amount);
}
.normalize(@color, @amount, @prop: "color") when (lightness(@color) < 50%)
{
    @prop:darken(@color, @amount);
}
Run Code Online (Sandbox Code Playgroud)

Luk*_*age 11

这是目前在less.js github上的一个功能请求.所以在less.js 1.4中注意它..在那之前你可以像这样破解它...

.mixin(@prop, @value) {
    Ignore: ~"a;@{prop}:@{value}";
}
Run Code Online (Sandbox Code Playgroud)

不是很好,你得到一个额外的财产,但它是目前唯一的方式.