2013-09-05 6 views
17

私は、私のようSCSSコードの幅を定義する必要があります。$currentWidthはループで定義されSassが追加する代わりに連結されていますか?

#example { 
    width: $currentWidth + 349 !important; 
} 

しかし、サスは、常に2つの数値を連結する代わりに、算術演算をやってしまいます。

私も試してみました。まだ連結になり

width: #{$currentWidth + 349}px !important;

を。

私は私が間違ってやって思ったんだけど?私は、これは非常に基本的ですけど、私はまた、サスが$currentWidthが整数であると仮定すると、算術

+4

は '$ currentWidth'される文字列または数?文字列の場合は連結します。 Sassは両方のエンティティが数値型の場合にのみ算術演算を行うことができます(つまり、Sassは '' 10 "+ 349'を' 'meatloaf" + 349'と同じように解釈します)。 – cimmanon

答えて

26

をどのように処理するかについて良い情報を見つけることができないようです。

SASS:

$currentWidth: 30; 

#example { 
    width: unquote(($currentWidth + 349) + 'px ' + !important); 
} 

CSSのOUTPUT:

#example { 
    width: 379px !important; 
} 

はあなたがここでそれをテストすることができます。

http://sass-lang.com/try.html

+0

ユニットをこのような整数に連結すると、文字列が得られます。これは間違っていますし、決してこれを*決して*行うべきではありません。 – cimmanon

+1

私が言ったことはまったく同じです: '($ currentWidth + 349)+ 'px''は文字列です。単位のない値を統一された値に変更しようとしているなら、これは決して**行うべきではありません。 – cimmanon

+0

あなたが言っていることを見てもらえますが、これを「決して」しない理由を本当に説明していません。また、何をお勧めしますか?この '#example { width:abs($ currentWidth + 349)+ px!important; } '良い方法ですか? –

関連する問題