2016-06-01 5 views
0

div内の変数の割り当てを変更する方法があるのだろうかと思います。コードを表示する は、私は私が欲しいものより見えていると思う:。SASSを使用してCSSのdivの変数を変更する方法はありますか?

IIRC
## CSS ## 
.div-name-1 { 
    $cor: #f00; 
} 

.div-name-2 { 
    $cor: #d1d1d1; 
} 

.div-name-3 { 
    $cor: #fff; 
} 

.whatever{ 
    background: $cor; 
} 


<div class="div-name-2> 
<div class="whatever"> 
</div> 

<div class="div-name-3> 
<div class="whatever"> 
</div> 
+0

正確には何をあなたはやろうとしていますか? – matmik

+0

私は* http://www.sassmeister.com/gist/0e3c950c42ef6da7ed04e31df279bd64 –

+0

のようにする必要があると思います。私はいくつかのカテゴリを持っています。それぞれについて、それぞれに色を指定したいと思います。 しかし、多くのdivがあります。書き込みはしたくありません。 .div-name-3 { $ cor:#fff; .whatever { 背景:$ cor; } .whatever-2 { 背景:$ cor; } .whatever-3 { 背景:$ cor; } }各部門の あなたは私のことがわかりますね? – user3119254

答えて

0

、SASSの変数は.div-name-1ので、彼らが表示されるブロックにスコープされており、 .whateverは異なるブロックであり、異なるスコープであり、それらの間で変数の値を転送することはできません。

あなたは、彼らが同じブロックにあるように、あなたのSASSのコードを再編成、または同じ効果を作成するために、ミックスインを導入する必要があります。また

.div-name-1 { 
    $cor: #f00; 

    .whatever { 
    background: $cor; 
    } 
} 

.div-name-2 { 
    $cor: #d1d1d1; 

    .whatever { 
    background: $cor; 
    } 
} 

@mixin whatever($cor) { 
    .whatever { 
    background: $cor; 
    } 
} 

.div-name-1 { @include whatever(#f00); } 
.div-name-2 { @include whatever(#d1d1d1); } 
+0

しかし、たくさんのdivがあります。色だけでなく、背景、色の境界などを変更したいのです...一方の方法は大きなコードですか? たとえば、タイトルh1、ボタン、境界線を持つ要素があり、father-divによれば、この要素は異なるものになります。 – user3119254

+0

私が言っていることは、あなたがしようとしている方法で変数を調整できないということです。ミックスインを使用しても「ビッグコード」のようには見えません。 Mixinを使用すると、コードの再利用可能なチャンクを作成することができます(これは実行しようとしているようです)。ミックスインがより多くのパラメータを必要とする場合、色以上のものを操作する必要があるため、さらにパラメータを追加します。 SASS変数を動作させるように設計されていない方法で動作させたいからといって、代わりのソリューションをあきらめているようです。 – Quantastical

+0

プロパティのマップを使用して、すべての方法で番号が付けられている場合は、divを介してSASSループを作成することもできます。 – Quantastical

関連する問題