私は、次の操作を行うことLESS CSSを使用しようとしている:数値を百分率(または)のパーセント記号を数値に変換する方法は?
width: ((480/1366)*100)+'%';
問題がが出力になるということである。
width: 35.13909224011713 '%';
私はそれを実行可能にするにはどうすればよいですか?すなわち:
width: 35.13909224011713%;
私は、次の操作を行うことLESS CSSを使用しようとしている:数値を百分率(または)のパーセント記号を数値に変換する方法は?
width: ((480/1366)*100)+'%';
問題がが出力になるということである。
width: 35.13909224011713 '%';
私はそれを実行可能にするにはどうすればよいですか?すなわち:
width: 35.13909224011713%;
をstring interpolationを使用することが可能である:
@myvar: ((480/1366)*100);
width: ~"@{myvar}%";
あなたはそれを四捨五入する場合は、出力
width: 35.13909224011713%;
はまた、あなたがround()
を使用することができるようにします。
この質問はかなり古くても、私は追加に関するいくつかの例を追加したいと思います。あなたのユニットは、操作されているものすべてに設定されます。
10px + 20px
意志出力30px
(20/200) * 100%
意志出力10%
ですから、ユニットの測定を連結する必要がいけないのユニットで。
私は、0を追加すると単位価値がわからないときに役立つことが分かりました。
.mixin(@x, @y){
@result: (@x/@y) * 100;
}
.my_class {
.mixin(20, 100);
width: @result + 0%; // you can use any unit here
}
上記のクラスの幅は20%です。 pxを追加した場合、20ピクセルになります。
何らかの理由で、最も冗長で最も明白な方法がここでは欠落しています(実際はリチャード・テスタニの答えですが、間違った方向につながるコードが残っています)。だから... ... オリジナルの答え:
width: (480/1366*100%);
percentage
のスピーキング:
width: ((480/1366)*100)+'%';
がするのと同じくらい簡単です
それトリックはあまりにも個人的に私はその冗長と非可読性のためにそれを使用しないだろう。速いスキャンでは
percentage(480/1366)
はちょうどpeekabooze(480/1366)
のように読めるので、手がかりを得るためにそれを止めて凝視しなければなりません。逆に、%
の明示的な外観が480/1366*100%
(または480/1366 * 100%
)にあると、より簡単に目立つようになります。
トピックを少しは削除しましたが、コンパイラオプションとして精度値を公開する計画はありますか? – Harry
@Harry、nope(ユースケースなし、[#1909](https://github.com/less/less.js/pull/1909)を参照)。 –
とにかく私はvarなしですることができますか?試しました 幅: "@ {(237/768)* 100}%"; しかし、それは動作していないようです... – Joel
ねえ、もう一度私です!このようにすると文字列になります。数字が必要です。つまり、最終結果は「35.13909224011713%」です。だから私はこれがうまくいかないのではないかと心配しています。 – Joel
また、文字列をエスケープする必要があることがわかります!だからここに〜記号の正しい解があります: @myvar :((480/1366)* 100); 幅:〜 "@ {myvar}%"; – Joel