BEM(Block, Element, Modifier)は、CSSクラス名のための命名規則です。BEMの命名規則を使うことによって、コードの可読性と再利用性を高めるのに役立ちます。クラス名には半角英数字の小文字を使用、複数の単語は-(ハイフン)で繋ぎます。
BEMは下記の3つの主要な概念で構成されています。
Block(ブロック)
再利用可能な独立した機能を持つUIコンポーネント。例えば、.button.menu.cardなどがブロックに該当します。
Element(エレメント)
ブロック内の一部分で、ブロックのコンテキストに依存しています。エレメントは__(2つのアンダースコア)を使ってブロック名に接続されます。例えば、.button__icon.menu__itemなどがエレメントになります。
Modifier(モディファイア)
ブロックまたはエレメントの状態やバリエーションを表します。モディファイアは--(2つのハイフン)を使ってブロックまたはエレメントに接続されます。例えば、.button__icon--large.menu__item--activeなどがモディファイアに該当します。
③のModifierに関しては元は_(シングルアンダースコア)だったようですが、今は–を使うケースが多いようです。大切なことは一つの案件に対して、統一性を持たせることで、Modifierが–だったり、_だったりしないことだと思います。

投稿者

Kの手習い

前職はOA機器の販売営業でしたが、退職して、50代で1からプログラマーを目指します。一般的にこの年齢からは厳しいと言われておりますが、この歳ならではの経験を活かして、頑張ります!

コメントを残す