2017-10-02 6 views
0

更新: これはタイプミスです。私は ".item"の代わりに ".ltem"を書きました。以下のコードは正しいです。 HTMLページの同じ行の複数の親を参照してSCSS内の要素を選択する

例:別のHTMLページの

<div class="container-first"> 
    ... 
    <div class="item"> </div> 
    ... 
</div> 

例:

<div class="container-second"> 
    ... 
    <div class="item"> </div> 
    ... 
</div> 

はアウトプロジェクトで私たちは下に、これらの2つのページのために一つだけのスタイルシートを持っていると仮定すると、

私はSCSSの要素(.item)を次のような親ノード参照を使って選択できることを知っています:

.item { 
    .container-first & { 
     background: black 
    } 
    .container-second & { 
     background: black 
    } 
} 

しかし、同じ行の同じ子要素に対して複数の親ノードを参照するにはどうすればよいですか?

私はこれをしなかったが、それは働いていない:

.item { 
    .container-first &, .container-second & { 
     background: black 
    } 
} 

そして私は、インターネット上の啓発何かを見つけることができませんでした。

つまり、同じ行の複数の親を参照して ".item"要素を選択するにはどうすればいいですか ".item"の中括弧?

+1

Codepen/JSfiddle/somethingで再現できますか?あなたのコードがうまくいかない理由はありません。ここでも試してみました。https://codepen.io/helb/pen/PJKXMQ – helb

+0

私は投票に投票します。他の誰もそれを再現できないので、この質問はほとんど価値がなく、コンパイルエラーの原因を説明できないようです。 – Blazemonger

+0

私はさらに調査しましたが、実際にはクラス名に「.item」の代わりに「.ltem」を間違って選択してしまうタイプミスがありました。そのために残念!もしそれが良いと思えば、私たちはそれを閉じることができます。 @Blazemonger –

答えて

1

効果があります。

.container-first .item, .container-second .item { 
     background: black; 
} 

online sass playgroundでそれを試してみてください。

次SCSS

.item { 
    .container-first &, .container-second & { 
     background: black 
    } 
} 

はにコンパイルされます。

+0

それは私のプロジェクトでコンパイルの問題だった、皆さんは正しいです。あなたの時間を無駄にして申し訳ありません。 スレッドを削除するか、離したらどうなると思いますか? (私はそれが誰かのために役立つと思う) –

+1

それを残しても害はありません。 –

関連する問題