【问题标题】:Custom CSS attributes while using LESS?使用 LESS 时自定义 CSS 属性?
【发布时间】:2013-07-20 22:17:11
【问题描述】:

我使用 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 用户知道我需要如何添加对这些自定义属性的支持?提前致谢。

【问题讨论】:

    标签: less


    【解决方案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];
      }
    }
    

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

    【讨论】:

    • 谢谢斯科特。我很确定 FlashBuilder 需要将这些属性设置为驼峰式,所以我会考虑更改您提到的解析器。
    • @RobR:这个问题将在允许大写字母的 LESS 1.4.2 版本中得到解决。
    • 谢谢斯科特。很高兴知道。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-08
    • 2021-11-17
    • 2018-09-03
    • 1970-01-01
    • 1970-01-01
    • 2018-04-23
    相关资源
    最近更新 更多