带有 @@ 含义的更少语法

问题描述 投票:0回答:1

我已经下载了一个 bootstrap 主题,在他们的较少来源中我有一个 mixin,例如:

.label-color(@color) {
  @label-class:~"label-@{color}";
  @badge-class:~"badge-@{color}";
  @label-color:@@label-class;

 .@{label-class}, .@{badge-class} {
    background-color:@label-color !important;
 }  
}

.label-arrow(@color) {
   @label-class:~"label-@{color}";
   @label-color:@@label-class;

  .@{label-class}{
    &.arrowed:before {
        border-right-color:@label-color;
    }
    &.arrowed-in:before {
        border-color:@label-color;
    }
    &.arrowed-right:after {
        border-left-color:@label-color;
    }
    &.arrowed-in-right:after {
        border-color:@label-color;
    }
  }
}
.label-color(~"lime");
.label-color(~"red");

我的问题是

@label-color:@@label-class;
因为我的内部编译器
less4j
在这个双重
@@
处给了我错误,我不明白为什么。本地编译器
Crunch
正在工作并且知道编译,所以这不是错误的语法。 有人可以给我一个提示吗,ty.

css less
1个回答
1
投票

正如 @deceze 已经提到的,您可以在 http://lesscss.org/features/#variables-feature-variable-names 中阅读,双

@
将用于在 Less 中创建变量变量名称:

例如:

@red: darkred;
@color: "red";
p {
color: @@color; 
}

输出:

p {
  color: darkred;
}

注意变量名(@color)应该是一个字符串。

根据可以在以下位置找到的文档,上述内容也应该在 less4j 中工作:https://github.com/SomMeri/less4j/wiki/Less-Language-Variables

如果变量包含字符串,那么它可以充当对 另一个变量。

© www.soinside.com 2019 - 2024. All rights reserved.