使用 mixin 参数在 LESS 中创建 class 名称
Use mixin argument to create class name in LESS
我正在尝试在 LESS 中为我将用于网站的不同颜色创建一个简单的混合。
我想要的是使用 mixin
argument
作为 class 名称的一部分。
@green: #5FBEAA; // my color variable
.text-color(@color) {
.text-{@color} {
color: @color;
}
}
.text-color(@green);
我得到的输出是:
.text-#5FBEAA {
color:#5FBEAA
}
我想要的是:
.text-green {
color:#5FBEAA
}
我认为这不可能。最接近的解决方案是使用一个附加变量。
@green: #5FBEAA;
.text-color(@name,@color) {
.text-@{name} {
color: @color;
}
}
.text-color(green,@green);
这将编译为
.text-green {
color: #5FBEAA;
}
我想我有使用 Variable Names 的解决方案。
少
@green: #5FBEAA;
.text-color(@colorname) {
@color: ~"@{colorname}";
.text-@{color}{
color: @@color;
}
}
.text-color(green);
输出
.text-green {
color: #5FBEAA;
}
我正在尝试在 LESS 中为我将用于网站的不同颜色创建一个简单的混合。
我想要的是使用 mixin
argument
作为 class 名称的一部分。
@green: #5FBEAA; // my color variable
.text-color(@color) {
.text-{@color} {
color: @color;
}
}
.text-color(@green);
我得到的输出是:
.text-#5FBEAA {
color:#5FBEAA
}
我想要的是:
.text-green {
color:#5FBEAA
}
我认为这不可能。最接近的解决方案是使用一个附加变量。
@green: #5FBEAA;
.text-color(@name,@color) {
.text-@{name} {
color: @color;
}
}
.text-color(green,@green);
这将编译为
.text-green {
color: #5FBEAA;
}
我想我有使用 Variable Names 的解决方案。
少
@green: #5FBEAA;
.text-color(@colorname) {
@color: ~"@{colorname}";
.text-@{color}{
color: @@color;
}
}
.text-color(green);
输出
.text-green {
color: #5FBEAA;
}