使用LESS时自定义CSS属性?

时间:2013-06-11 19:17:54

标签: less

我现在已经使用SASS了一段时间,我真正喜欢的一件事就是如何将它用于我的FlashBuilder项目,即支持自定义CSS属性,如'embedAsCFF'和'unicodeRange'。

我第一次尝试LESS,在使用这两个自定义属性时不会让我编译成CSS:

    embedAsCFF: true;
    unicodeRange: U+0021, U+0023-U+0026, U+0028-U+002a, U+002c, U+002e-U+0039, U+0040-U+005d, U+0061-U+007d;

我收到'Less Compilation Error:Syntax Error ...'

任何LESS用户都知道我需要添加对这些自定义属性的支持吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

Update: This issue will be resolved in the release of LESS 1.4.2

不是自定义名称,而是格式问题

在我的实验中看来,问题实际上是您在属性名称中使用大写字母(而不是它们本身就是自定义属性)。 LESS显然不支持大写字母。换句话说,这些工作:

embedascff: true;
embed-as-cff: true;
unicoderange: U+0021; //etc.
unicode-range: U+0021; //etc. 

但这不是:

Color: red;

我还没有确定在实际的LESS代码本身中哪些可能是固定的(如果它可以通过LESS处理属性规则的方式修复)。我怀疑原因是parser.js file行1578-1584(撰写本文时),其中包括:

property: function () {
  var name;

  if (name = $(/^(\*?-?[_a-z0-9-]+)\s*:/)) {
    return name[1];
  }
}

这似乎是过滤掉允许大写字母。我不知道如果将正则表达式改为允许它们会产生什么后果。