BEMとは
BEM(Block, Element, Modifier) は、CSSクラスの命名規則・設計手法のひとつです。ロシアのIT企業 Yandex が考案し、CSSの構造を整理して再利用性や保守性を高めることを目的としています。名前の由来B (Block)独立して意味を持つ部品(コンポーネント)。例:header、menu、button など。E (Element)Blockを構成する要素。Blockに依存して存在します。例:menu__item、button__icon など。M (Modifier)BlockやElementの状態やバリエーションを表す修飾。例:button--large、menu__item--active など。特徴とメリット明確な構造クラス名だけで要素の役割が分かる。CSSの衝突を防止セレクタをネストさせなくても、スコープが明確になる。再利用しやすい他のページやコンポーネントに持ち込んでも意味が崩れにくい。大規模開発に強いチーム開発でも「誰が書いたCSSか分からない問題」を回避できる。デメリットクラス名が長くなりがち例:header__nav__item--active小規模サイトだと「やりすぎ」になる場合もある。BEMの位置づけCSS設計の代表的な手法のひとつで、他にもOOCSS(Object Oriented CSS)SMACSS(Scalable and Modular Architecture for CSS)ITCSS(Inverted Triangle CSS)などと並んで、大規模サイトや長期運用プロジェクトでよく採用されています。
0