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

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

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

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1146閲覧

BEM記法における:hoverの書き方について

perpouh

総合スコア299

Sass

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2019/07/02 06:00

BEM記法についてお伺いします。

Block__Element--Modifierはわかったのですが、:hoverとかの行き場がわからない状態です。
書きたいのはドロップダウンメニューで、普通に書くところの以下です。

Sass

1ul{ 2 li.parent-item{ 3 ul.children-item{ 4 display:none; 5 } 6 &:hover{ 7 ul.children-item{ 8 display:block; 9 } 10 } 11 } 12}

これをBEM記法にしたいのですが、直感のまま

.nav{ &__dropdown{ &__item{ &__child-item{ display:none; } &:hover{ &__child-item{ display:block; } } } } }

と書いたところ、

/* line 4, /vagrant/vamazon/app/assets/stylesheets/nav.scss */ .nav__dropdown__item__child-item { display: none; } /* line 8, /vagrant/vamazon/app/assets/stylesheets/nav.scss */ .nav__dropdown__item:hover__child-item { display: block; }

こうなりました。
理屈はわかりますが、じゃあどう修正すれば目的の挙動を達成できるか? がわかりません。
あるいはJavaScriptで --hover を付与するのが正道なのでしょうか?

ご教示お願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

scss

1.nav{ 2 &__dropdown{ 3 &__item{ 4 $selector: #{&}; 5 &__child-item{ 6 display:none; 7 } 8 &:hover{ 9 #{$selector}__child-item{ 10 display:block; 11 } 12 } 13 } 14 } 15}

投稿2019/07/02 06:16

ryo_y

総合スコア244

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

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

perpouh

2019/07/02 06:25

動きましたーー!!ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問