質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Sass

Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

Q&A

解決済

1回答

210閲覧

sassで「&」を使用し、子クラスに親クラス名を連結させる方法

helloman

総合スコア39

Sass

Sassは、プログラミング風のコードでCSSを生成できるスタイルシート言語です。 scss ファイルを、変換(コンパイル)してCSSファイルを作成します。

0グッド

0クリップ

投稿2019/11/01 05:37

編集2019/11/01 06:54

前回、
https://teratail.com/questions/219025
のページで質問させていただいたのですが、
応用編と思い、下記のsassを色々試しているのですが、
なかなか希望通りになりません。

コンパイル前

.panel { background: blue; &-header { background: dark-blue; } &.theme & { background: red; @at-root &-header { background: light-blue; } } }

コンパイル後

.panel { background: blue; } .panel-header { background: dark-blue; } .panel.theme .panel { background: red; } .panel.theme .panel-header { background: light-blue; } // ------------ // 希望 // ------------ .panel { background: blue; } .panel-header { background: dark-blue; } // ↓↓↓ 希望の箇所 .panel.theme { background: red; } // ↓↓↓ ここは意図通り .panel.theme .panel-header { background: light-blue; }

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2019/11/01 05:49

「panel.theme .panel-header」のほうは意図通りですか?
helloman

2019/11/01 06:52

これは意図通りです
guest

回答1

0

ベストアンサー

記述に誤りがないでしょうか。単に子要素として連結する場合、左のアンパサンドは不要です。
なので、 &.theme &.theme &を分けて記述する必要があると思います。

【Sass】親セレクタを参照する&や+の使い方

投稿2019/11/01 06:28

FKM

総合スコア3635

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

helloman

2019/11/01 07:20

やはり分けるしかないっぽいですね。
FKM

2019/11/01 07:53

自分としては他に方法は思いつかないです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問