Emsでフォントサイズを指定しています。つまり、親コンテナを基準にしています。私はいくつかの子要素を持っており、計算を行うたびに親のサイズを繰り返すことを望まない。だから私は持っている:文字列の補間が遅い
@articleFontSize: 21/16;
の場合は、さらに上の、私が使用:あなたが期待よう
font-size: @articleFontSizeem;
が、私は '変数@articleFontSizeemが定義されていない' を得ます。
は、私はそれを補間した場合:
font-size: @{articleFontSize}em;
を再度コンパイルすることを拒否し、私は単なる「構文エラー」を取得します。
font-size: @articleFontSize~"em";
これはコンパイル - が、出力には私のようなコードを取得する:それは単位の前にスペースを追加していますので、彼らは、ブラウザによって無視されている、すなわち
font-size: 1.3125 em;
。
私はMacR(2.0ベータ5)で実行しています。設定では、「システムRuby 1.8.7」をコンパイルに使用しています。
UPDATED SOLUTIONS:
。正しい単位をゼロ個追加してください:
font-size: 0em + @articleFontSize;
b。 (私の以前の別の方法 - 関数を使用する):で呼び出され
.rFont(@target, @context) {
@ratio: @target/@context;
font-size: ~"@{ratio}em";
}
:
.rFont(11,@articleFontSize);
(不要なスペースに注意していない、正しい)出力:
font-size: 0.7063571428571428em;
私は期待していませんでした@ {ratio}をチルダ+引用符の中に入れてそれを展開します。しかし、それは動作します(他にはほとんど何もありません。)
この質問は助け: concatenate values in less (css) without a space
脱出方法は、あなたに感謝 – Huangism