Css 为什么更少的编译器无法识别由零迭代器生成的类?

Css 为什么更少的编译器无法识别由零迭代器生成的类?,css,twitter-bootstrap,less,Css,Twitter Bootstrap,Less,我的CSS工作表需要重置一些Bootstrap 3预设值以形成我想要的样式,因此我需要像.m-b-0这样的实用程序类,它设置边距底部:0px 但我在grunt中使用的较少的编译器无法识别循环在其他类中嵌套时生成的类.m-b-0,但是像.m-b-1和.m-b-10这样的类将被正确识别 我的Less文件中的循环代码如下所示: .m-loop (@i) when (@i <= @iterations) { .m-@{i}{ margin: ~"@{i}px"; } .m-h-

我的CSS工作表需要重置一些Bootstrap 3预设值以形成我想要的样式,因此我需要像
.m-b-0
这样的实用程序类,它设置
边距底部:0px

但我在grunt中使用的较少的编译器无法识别循环在其他类中嵌套时生成的类
.m-b-0
,但是像
.m-b-1
.m-b-10
这样的类将被正确识别

我的Less文件中的循环代码如下所示:

.m-loop (@i) when (@i <= @iterations) {
  .m-@{i}{
    margin: ~"@{i}px";
  }
  .m-h-@{i}{
    margin-left: ~"@{i}px";
    margin-right: ~"@{i}px";
  }
  .m-v-@{i}{
    margin-top: ~"@{i}px";
    margin-bottom: ~"@{i}px";
  }
  .m-l-@{i}{
    margin-left: ~"@{i}px";
  }
  .m-r-@{i}{
    margin-right: ~"@{i}px";
  }
  .m-t-@{i}{ 
    margin-top: ~"@{i}px";
  }
  .m-b-@{i}{
    margin-bottom: ~"@{i}px";
  }
  .m-loop(@i + 1);
}
.m-loop(0);
.panel{
  .m-b-0;
}
然后我的心脏跳了起来

Running "less:production" (less) task
>> NameError: .m-b-0 is undefined in ../css/less/stylesheet.less on line     237, column 3:
>> 236   div.panel{
>> 237   .m-b-0;
>> 238   }
Warning: Error compiling ../css/less/stylesheet.less Used --force, continuing.

这是禁止在较少的编译中使用零值迭代器的吗?还是我把它弄错了?谢谢

看起来可能有语法错误。我在这行上看不到开括号:

.m-t-@{i}


看看这是否有帮助。

很抱歉,这是一个编辑问题。循环代码正在运行。它生成了所需的CSS,但当我通过mixin/嵌套在同一个更少的文件中使用生成的类时,它将失败。