2017-08-18 6 views
0

私は変数でいくつかのスタイルを生成するmixinを作ろうとしています。私は2つの変数を連結したいので、動作させることはできません。私は高さを持つ変数とアイコンの幅を持っていると私はその変数を取得し、操作をするためにミックスインの引数に名前を入れてしたいと思いますStylus mixinで変数を連結する

centerSprite($icon) 
    margin-top -(($ico_+$icon+_height)/2) 
    margin-left -(($ico_+$icon+_width)/2) 

..:ここでは一例であり、 。

ありがとうございます!

+1

これらの変数はすべて数字?あなたはどんなCSSを期待していますか? – blonfu

+0

これはcodepenや何かのための良い候補となるでしょう/あなたが変数などなしで何をしているのかを伝えるのは難しいです。 – sheriffderek

+0

PS - それらを中心にする良い方法があるはずです----コードを見せてください! : – sheriffderek

答えて

0

いい男on Githubは、私にはスタイラスでlookup組み込み関数を説明し、これは私が探していたものです。

$ico_test_width ?= 20px 
$ico_test_height ?= 15px 

centerSprite($icon) 
    margin-top : -(lookup('$ico_' + $icon + '_height')/2) 
    margin-left: -(lookup('$ico_' + $icon + '_width')/2) 

body 
    centerSprite('test') 
0

私は理由を知りませんが、あなたは機能スタイラス内部のプロパティの値に括弧の前にマイナスを持っていたときにコンパイルすることはできません(多分バグ?):

をこのコードはコンパイルされません。

centerSprite() 
    margin-top -((5 + 10 + 3)/2) 

body 
    centerSprite() 

しかし、関数のコンパイルせずに、この1:

body 
    margin-top -((5 + 10 + 3)/2) 

そして、あなたは、プロパティの後にコロンを使用している場合、私が発見したが、関数内でも動作します:

スタイラス

centerSprite() 
    margin-top: -((5 + 10 + 3)/2) 

body 
    centerSprite() 

CSS

body { 
    margin-top: -9; 
} 
+0

私はバグだと思う。以下のGithubソリューションでは、コロンを追加しないとコードはコンパイルされません。しかし、コメントの最初の1つの演算子は私のためにコンパイルしています。 –

関連する問題