BEM

A methodology of independent blocks for structured, scalable front-end code

BEM (Block, Element, Modifier) is a methodology for building interfaces from independent components. A block is a standalone part of the interface, an element is a part of a block that is not used on its own, and a modifier sets a variant of appearance, state or behaviour of a block or element. Shared rules for organising and naming code make components easier to reuse, simplify changes and help a team work on the project together.