質問
FLOCSS(BEM)の命名規則通りにクラス名を付けようとしているところで苦戦しています。
ボタンをクリックすると、下からスライドしてくるモーダルウィンドウを作成しました。
規則では、Elementの中にElementをネストする命名はNGとなっていますが、モーダルウィンドウという特殊な部品の性質上、そこでしか使えない(ブロックの外では使えない)パーツばかりで、ネストするしかありません。
AIチャットへの質問では2つのパターンがありました。
1.特殊な部品では特別にネストを許可する。つまり、修正前のソースコードのままで問題ない。
2.次のように名前を変える。例)c-modal__window__contents__title→c-modal__title
1は本当にそれでよいのか?
2はc-modal__titleはc-modal__window__contentsの中でしか使えないことが分からなくなってしまう。
1,2どちらもしっくりきませんでしたので、
最終的にはネストせず、ハイフンでつなぐだけの方法にしましたが、他に何かよい対処法はありますでしょうか?
※CSSの構造自体を変えることは難しいため、CSSを組みなおすといったことは無しでお願いします。
修正前
<p class="js-modal-open" data-modal-id="modal1">モーダルを開く</p> <div class="c-modal js-modal-fade" data-modal-id="modal1"> <div class="c-modal__background js-modal-close"></div> <div class="c-modal__window js-modal-slide"> <section class="c-modal__window__contents"> <span class="c-modal__window__contents__close-button js-modal-close"></span> <div class="c-modal__window__contents__title"> <h4 class="c-heading--h4">モーダルタイトル</h4> </div> <div class="c-modal__window__contents__modal-body"> <p>モーダル本文</p> </div> </section> </div> </div>
修正後
<p class="js-modal-open" data-modal-id="modal1">モーダルを開く</p> <div class="c-modal js-modal-fade" data-modal-id="modal1"> <div class="c-modal-background js-modal-close"></div> <div class="c-modal-window js-modal-slide"> <section class="c-modal-contents"> <span class="c-modal-contents__close-button js-modal-close"></span> <div class="c-modal-contents__title"> <h4 class="c-heading--h4">モーダルタイトル</h4> </div> <div class="c-modal-contents__modal-body"> <p>モーダル本文</p> </div> </section> </div> </div>

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。