BEM — Block Element Modifier is a methodology that helps you to create resuable components and code sharing in front-end development

Easy

To use BEM you inly need to employ BEM's naming convention.

Modular

Independent blocks and CSS selectors make your code reusable and modular.

Flexible

Using BEM, methodologies and tools can be recomposed and configured the way you like.

Introduction

BEM is a highly useful, powerful, and simple naming convention that makes your front-end code easier to read and understand, easier to work with, easier to scale, more robust and explicit, and a lot more strict.

Naming

The BEM approach ensures that everyone who participates in the development of a website works with a single codebase and speaks the same language. Using BEM’s proper naming convention will better prepare you for design changes made to your website.

FAQ

— Why do I need CSS classes for block instead of using semantic custom tags?

— May I combine a tag and a class in a selector, such as button.button?

Look for answers in the awesome FAQ list!

Companies using BEM