2016-07-09 8 views
3

を簡易display:none/blockで表示しようとしています。ボタンをクリックするとdiv.activeクラスが追加されます。Sass .scss:divで余分なクラスを入れ子にします

SASSを使用してこの.activeクラスをターゲティングすることはできませんが、ネストしようとするとできません。

HTML:

<div class="MyDiv"> 
    I'm a hidden div. But when some button is clicked I get the class Active 
</div> 

Javascriptを

$(".MyDiv").on("click", function() { 
    $(this).toggleClass("active"); 
}); 

CSS:(SASSは、コンパイル後に、私は何を期待)

.MyDiv { 
    display:none; 
} 

.MyDiv.active { 
    display:block; 
} 

SASS

.MyDiv { 
    display:none; 

    .active { 
    display:block; /* this one doesn't work */ 
    } 
} 

答えて

0

あなたが書いている方法を書くとき、それはあなたが望むものではありませんどの.MyDiv .activeにコンパイルは、あなたが&.activeを使用する必要があるので、あなたの選択はあなたがいる.MyDiv.active

.MyDiv { 
    display: none; 

    &.active { 
    display: block; 
    } 
} 
0

になりますSassを正しく使用していない。 MyDiv用の別の兄弟クラスが必要な場合は、Sassで& .activeを使用する必要があります。 Link to Css-Tricks

.MyDiv { 
    display:none; 
    &.active { 
    display:block; 
    } 
} 

それはあなたのコードがコンパイルに

.MyDiv.active { 
    display: block; 
} 
にコンパイルされます。 .MyDivと.activeの間のスペースが表示されます

.MyDiv .active { 
    display: block; 
} 
関連する問題