0

我正在使用 sublime text 2 插件less2css将我的 less 文件编译成 css 文件。我遇到的问题是该插件不会编译用于动态创建标题字体大小的 mixin。我已经使用 winless 提供的在线 less 编译器测试了 mixin ,它似乎工作正常。

这只是插件的一个错误,还是我在我的 mixin 中做错了什么?

混音:

@fontSize: 24px;
.calcFontSize(@index) when (@index > 0) {
    (~'h@{index}') {
        font-size: @fontSize - @index * 3;
    }

    .calcFontSize(@index - 1);
}
.calcFontSize(0) {}
.calcFontSize(6);

问题似乎发生在这一行:(~'h@{index}') {. 将其更改为h1(或任何其他标题元素)可以正常工作。

4

1 回答 1

2

您的代码(我相信还有 WINLESS,这就是它在那里工作的原因)正在为 LESS CSS 使用较旧的语法。当设置为 LESS 1.3.0-1.3.3 时,您的代码在http://less2css.org/上编译得很好,但是 LESS 1.4+ 的语法发生了变化(不需要插值)。因此,如果您的Sublime已将 LESS 升级到 1.4+,那么这将解释为什么您的代码不起作用。

如果这确实是问题所在,那么您只需要更改行的语法,如下所示:

h@{index} {
    font-size: @fontSize - @index * 3;
} 

您可以在http://less2css.org/上看到适用于1.4+ 版本的 LESS。

于 2013-09-22T17:50:34.793 回答