2016-10-25 7 views
0

クラス名を作成する各ループを作成しようとしていて、その名前のmixinをパラメータとして呼び出しています。私はリストを作ることができます:混合中のSass変数が含まれています

次に、それぞれのループを実行して、その名前を使ってクラスを作成し、その名前のミックスインをパラメータとして呼び出します。

@each $name in $list { 
    .#{$name} { 
     @include mixin($name); 
    } 
} 

mixinのこのパラメータは、同じ名前の別の変数を呼び出して、mixin内で必要な属性を設定します。これは何かできるはずですが、mixinパラメータを単なる文字列ではなく変数として作る方法を理解できないようです。リスト名の前に$を追加するには、補間を特定の方法で使用する必要がありますか?これを行うと、動作するようには思えません。私はそれを行うために必要なもの

@include mixin($#{$name}); 

は、クラス名を作成するために、ITEM1、ITEM2、ITEM3、電気ショック療法の値を使用しますが、その後、変数$ ITEM1、$ ITEM2としてそれらを送っています、$ item3をmixin に送信してみてください。

+0

プロパティ/値を持つマップは、 – Thielicious

+0

用です。私はgrunt spritesmithを使用しようとしていましたが、私にはscssファイルを作成しても印刷されませんあなたがcssファイルを作成していれば、スプライトの各アイコンのCSSスタイルはそうです。だから、私はそれがクラス名を印刷し、その変数と同じ名前を取るスプライトmixinを呼び出すことができる各ループを作ろうとしていました。 – user2339729

答えて

2

初めて変数名$nameを使用すると動作します。

Here is an example I made using your code

+0

この例では、mixinを通じて値を送信しています。私が必要とするのは、mixinを通じて変数を送信することです。変数$ red、$ green、$ yellowを送る必要があります。 「赤」、「緑」、「黄」の値ではありません。 – user2339729

+0

色の良い選択 – Thielicious

+0

@ user23339729変数名を表示する場合は、$ colors:(赤: '$ red'、緑: '$ green'、黄色: '$ yellow');そうでなければ私はあなたの論理を理解していない – Thielicious

関連する問題