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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

SCSS

SCSSは、SassのCSSメタ言語です。Webページのスタイルを指定するCSSを効率的に記述することができます。ネストと呼ばれる入れ子構造で記述するため、CSSの全体の記述量を減らせる点が特徴です。さらに変数も利用できるため、変更や修正の際に少ない作業量で対応することもできます。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Q&A

解決済

1回答

1164閲覧

SCSSを使ったBEM記法でのhoverの書き方

kurokuma

総合スコア3

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

SCSS

SCSSは、SassのCSSメタ言語です。Webページのスタイルを指定するCSSを効率的に記述することができます。ネストと呼ばれる入れ子構造で記述するため、CSSの全体の記述量を減らせる点が特徴です。さらに変数も利用できるため、変更や修正の際に少ない作業量で対応することもできます。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

0グッド

0クリップ

投稿2022/06/05 02:02

最近dart Sassを導入しました。
そこでBEM記法に対してhoverの記述をscssに記述する際によくわからなかったので質問させていただきました。

したいことは下記のコードでクラス名: button__linkに触れたらhoverさせたいです。

[HTML]

<div class="contents"> <!-- other contents ~~~~~~~~ --> <div class="button"> <a class="button__link" href="#"> <p class="button__text">View More</p> </a> </div> </div>

[SCSS]

.contents { .button { &__link { background-color: #FFF; $this: &; // 現在のBEMの位置を取得 &::before {} &::after {} &:hover { #{$this} { // here background-color: #333; } } } &__text {} } }

上記のコードでは思った通りには動かなかったです。
デベロッパーツールを使って.button__linkに:hoverをしてもコードは表示されず、記述したアニメーションも動作しませんでした。
どうかご教示ください、よろしくお願いします。

// 環境---------------
// windows11
// Visual Studo Code
// --------------------

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

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

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

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

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

arcxor

2022/06/05 14:47

$this という変数は何のために記述しているのでしょうか。
kurokuma

2022/06/06 03:27

ご連絡遅れました、すみません。 絶対パスで:hoverを指定しようとしていました。 そうすると&__text {}にも適応されてきれいになるかと思いました。 ただ少し誤解していて、なぜか&__link {}にも適応させようとしていたので、:hoverが適応されなくて混乱状態で質問してしまいました。
kurokuma

2022/06/06 03:51

すみません、誤解が積み重なってややこしくなり、質問が解決していなかったので、もう一度質問させていただきました。 よろしければこちらでもご回答の程、よろしくお願いします。 https://teratail.com/questions/c47kqlk9qyo66k
guest

回答1

0

ベストアンサー

SCSSは普通に書いたらいいと思います。
ただ、インラインの中にブロックを入れると、あまりいいことはないです。

SCSS

1.contents { 2 .button { 3 &__link { 4 display: block; // ←ブロックにする 5 background-color: #FFF; 6 // $this: &; // ←いらない 7 &::before {} 8 &::after {} 9 &:hover { 10 // #{$this} { ←いらない 11 // // here 12 background-color: #333; 13 // } ←いらない 14 } 15 } 16 &__text {} 17 } 18}

投稿2022/06/06 01:22

Lhankor_Mhy

総合スコア37417

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

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

kurokuma

2022/06/06 03:20

動きました!ありがとうございます! 少し&について誤解していたのでもう少し勉強します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問