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

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

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

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

Q&A

解決済

1回答

1147閲覧

SCSS記法について

dongurikunn

総合スコア5

Sass

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

1グッド

0クリップ

投稿2020/03/13 05:12

編集2020/03/13 05:21

Scssの記法について。
以下の& + .block-listの部分を効率的に書き換えることは可能でしょうか?

よく、横並びの要素で、2番目以降にmarginを指定したい時に、
.○○○ + .○○○とセレクタ指定するのですが、
以下の書き方だと、ブロック名を変更した際に、書き直す手間が2度手間になってしまうので、
効率的な書き方を探しています。

SCSS

1.block{ 2 &-list{ 3 & + .block-list{ 4 } 5}
s.k👍を押しています

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

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

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

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

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

m.ts10806

2020/03/13 05:17

SCSS関連のタグを質問に追記してください。CSSをやってる全ての人がSCSSもやってるわけではないです。
guest

回答1

0

ベストアンサー

.○○○ + .○○○○○○ が同一なのであれば、そのまま parent selector を使うことが出来ます。

Parent Selector

The parent selector, &, is a special selector invented by Sass that’s used in nested selectors to refer to the outer selector. It makes it possible to re-use the outer selector in more complex ways, like adding a pseudo-class or adding a selector before the parent.
When a parent selector is used in an inner selector, it’s replaced with the corresponding outer selector. This happens instead of the normal nesting behavior.

SCSS

1.block { 2 display: block; 3 4 &-list { 5 padding: 10px; 6 7 & + & { 8 margin-left: 10px; 9 } 10 } 11}

CSS

1.block { 2 display: block; 3} 4 5.block-list { 6 padding: 10px; 7} 8 9.block-list + .block-list { 10 margin-left: 10px; 11}

そうでなければ、適宜参照したいセレクタの存在する箇所にて、そこでの parent selector の値を格納する変数を用意する方法があります。

SCSS

1.block { 2 $p: &; 3 display: block; 4 &-list { 5 padding: 10px; 6 & + #{$p} { 7 margin-left: 10px; 8 } 9 } 10}

CSS

1.block { 2 display: block; 3} 4.block-list { 5 padding: 10px; 6} 7.block-list + .block { 8 margin-left: 10px; 9}

投稿2020/03/14 08:43

s8_chu

総合スコア14731

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

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

dongurikunn

2020/03/14 09:15

ありがとうございます!!大変助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問