我现在已经使用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用户都知道我需要添加对这些自定义属性的支持吗?提前谢谢。
答案 0 :(得分:1)
在我的实验中看来,问题实际上是您在属性名称中使用大写字母(而不是它们本身就是自定义属性)。 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];
}
}
这似乎是过滤掉允许大写字母。我不知道如果将正则表达式改为允许它们会产生什么后果。