18

Less をフォントの短縮形で使用すると問題が発生することに気付きました

.font(@weight: 300, @size: 22px, @height: 32px) {
    font: @weight @size/@height "Helvetica Neue", Arial, "Liberation Sans", FreeSans, sans-serif;
}

上記は失敗します

this.a.toCSS is not a function
http://localhost/tumblr/modern1/css/style.less on line 1, column 0:
1. @highlight: #cb1e16;
2. @shade1: #cb1e16;

プロパティを分割すると機能します

.font(@weight: 300, @size: 22px, @height: 32px) {
  font-weight: @weight;
  font-size: @size;
  line-height: @height;
  font-family: "Yanone Kaffeesatz", "Helvetica Neue", Arial, "Liberation Sans", FreeSans, sans-serif;

}

スラッシュが原因だと思います/それが問題を引き起こしていると思います.Lessは計算を行うことができるので、例えば. 2px + 5 = 7pxその分割をしようとしていますか?

4

3 に答える 3

25

この問題に遭遇したばかりですが、エスケープ関数 (とにかく less.js の場合) は次のとおりです: e() このように

font: @weight @size e('/') @height "Helvetica Neue", Arial, "Liberation Sans", FreeSans, sans-serif;
于 2010-11-19T09:57:45.820 に答える
2

LESS 1.4 以降には、 とフォントの略記の間のあいまいさを解決する「strictMath」オプションが追加されました。1.4 では移行を容易にするためにデフォルトで無効になっていますが、それ以降のバージョンではデフォルトで有効になります。

ここで 1.4 のメモを参照してください。

strictMath が有効な場合、すべての数学演算は括弧で囲む必要があり(10px / 5px)、フォント short のスラッシュは除算として解釈されません。

于 2013-08-21T20:57:31.367 に答える