0

私はしばらくの間 S​​ASS を使用していますが、私が本当に気に入っていることの 1 つは、FlashBuilder プロジェクトにも使用できることです。つまり、'embedAsCFF' や 'unicodeRange' などのカスタム CSS 属性をサポートしています。

初めて LESS を試していますが、次の 2 つのカスタム属性を使用している間は 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 ユーザーはいますか? 前もって感謝します。

4

1 に答える 1

1

更新: この問題は、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ファイルの 1578 ~ 1584行目 (この記事の執筆時点) にあると思われます。

property: function () {
  var name;

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

これは、大文字を許可して除外しているようです。その正規表現がそれらを許可するように変更された場合、結果がどうなるかわかりません。

于 2013-06-11T20:24:05.550 に答える