Visual studio 循环中的递增变量

Visual studio 循环中的递增变量,visual-studio,less,Visual Studio,Less,下面的循环为标记云生成了一些样式。在在线生成器上,它产生了我认为正确的CSS样式,但是在VisualStudio解决方案(2012)中,它自动产生似乎挂起的CSS。(见下文)越少越好。有没有一种更合适的方法,通过less来生产这样的产品,而不会混淆VS.less生成器 @iterations: 10; @maxSize: 40; @minSize: 10; .tag-loop (@i) when (@i > -1) {

下面的循环为标记云生成了一些样式。在在线生成器上,它产生了我认为正确的CSS样式,但是在VisualStudio解决方案(2012)中,它自动产生似乎挂起的CSS。(见下文)越少越好。有没有一种更合适的方法,通过less来生产这样的产品,而不会混淆VS.less生成器

       @iterations: 10;
        @maxSize: 40;
        @minSize: 10;

        .tag-loop (@i) when (@i > -1) {
            @j:  (@i*(30/@iterations) + @minSize);
            li.tag-@{i} {
                font-size:~"@{j}px";

            }
            .tag-loop(@i - 1);
        }
        .tag-loop (@iterations);
通过visual studio制作:

ul.tag-cloud li.tag-10 {
  font-size: 10px;
}
ul.tag-cloud li.tag-9 {
  font-size: 10px;
}
ul.tag-cloud li.tag-8 {
  font-size: 10px;
}
ul.tag-cloud li.tag-7 {
  font-size: 10px;
}
ul.tag-cloud li.tag-6 {
  font-size: 10px;
}
ul.tag-cloud li.tag-5 {
  font-size: 10px;
}
ul.tag-cloud li.tag-4 {
  font-size: 10px;
}
ul.tag-cloud li.tag-3 {
  font-size: 10px;
}
ul.tag-cloud li.tag-2 {
  font-size: 10px;
}
ul.tag-cloud li.tag-1 {
  font-size: 10px;
}
ul.tag-cloud li.tag-0 {
  font-size: 10px;
}
如果我使用类似以下内容,则更准确地生成:

li.tag-10 {
  font-size: 40px;
}
li.tag-9 {
  font-size: 37px;
}
li.tag-8 {
  font-size: 34px;
}
li.tag-7 {
  font-size: 31px;
}
li.tag-6 {
  font-size: 28px;
}
li.tag-5 {
  font-size: 25px;
}
li.tag-4 {
  font-size: 22px;
}
li.tag-3 {
  font-size: 19px;
}
li.tag-2 {
  font-size: 16px;
}
li.tag-1 {
  font-size: 13px;
}
li.tag-0 {
  font-size: 10px;
}

看起来您的VS使用的(通过Web Essentials 2012?)比1.3.3版本更加过时,它处理变量范围的方式非常不同,即在上一次迭代中定义的
@j
覆盖了所有以前的
@j
定义。 解决方法是直接计算字体大小值:

    @iterations: 10;
    @maxSize: 40;
    @minSize: 10;

    .tag-loop (@i) when (@i > -1) {
        li.tag-@{i} {
            font-size: unit((@i * (30 / @iterations) + @minSize), px);
        }
        .tag-loop((@i - 1));
    }
    .tag-loop (@iterations);