2017-10-11 7 views
-2

semantic cssクラスをSassにネストしています。私は、セクションのCSSコードをセクションでのみ使用できるようにして、セマンティクスのある場所で<section />タグが使用されていることを確認します。「意味的に」入れ子になっているタグとクラス

しかし私は&を私のSassファイルで使用することで問題を抱えています。

section { 
    &.section-home { 
    background-color: white; 
    &__heading { 
     font-size: 5rem; 
    } 
    &__intro { 
     color: grey; 
    } 
    } 
} 

サスには、以下のCSSにそれをレンダリング::私はサスに次のコードを使用することができ想定し、ないでしょう

<section class="section-home"> 
    <h1 class="section-home__heading">Section heading</h1> 
    <p class="section-home__intro">This is some random text</p> 
</section> 

:次のHTMLを考えてみません

section.section-home{background-color:#fff} 
section.section-home__heading{font-size:5rem} 
section.section-home__intro{color:grey} 

そして、それは私が期待しているか必要としているものではない、私は欲しい:

section.section-home{background-color:#fff} 
section.section-home .section-home__heading{font-size:5rem} 
section.section-home .section-home__intro{color:grey} 

これはバグですか?私はここで何か間違っていますか?

+4

いいえ、バグではありません。それがあなたが期待していたはずのものです。 '&'の内側と外側の使い方が異なるのはなぜですか? – jonrsharpe

+0

ええ、OK。しかし、どのように '&'を使用するのですか?それはBEMを使用している間、それはサスのポイントですか? –

+0

私は '' section.section-home {background-color:#fff} section.section-home .section-home__heading {font-size:5rem}をご希望です section.section-home .section-home__intro {color:グレー} '' '。 htmlを参照してください。 –

答えて

0

だけにCSSを変更します。これは、Yを解決する

section.section-home

section.section-home .section-home__heading

section.section-home .section-home__intro

+0

の場合は__headingを検索する必要がありますが、これは 'section.section-home {background-color:#fff} 'を正しく作成しません。 – jonrsharpe

+0

OPの解釈が正しく行われませんでした前に必要です:) –

0

:サスはこれを解釈する

section { 
    &.section-home { 
    background-color: white; 

    .section-home { 
     &__heading { 
     font-size: 5rem; 
     } 
     &__intro { 
     color: grey; 
     } 
    } 
    } 
} 

この道をhtmlタグで既に制限されている場合には単に ".home"と呼ぶことができます。

section { 
    &.section-home { 
    background-color: white; 

    .section-home__heading { 
     font-size: 5rem; 
    } 

    .section-home__intro { 
     color: grey; 
    } 
    } 
} 
+0

あなたは問題を解決していない、あなたはそれを理解していない。この考え方は、すべてのサブブランチの 'section-home'部分を複製することではありません。そのため、あなたは '&'を使う必要があります。 – dfsq

+0

あなたの例のように、まさにそれが行われましたが、私は '&'をこのように使うことはできません。 –

+0

@AndrévanTolyあなたはルートタグセレクタを使用することはできません。 – dfsq

関連する問題