In the coming weeks, months and years, I will be working on frontend-development as part of my dayjob. These are some personal notes I took during my research about the BEM methodology. If you want to read the official introduction, you should visit [their website](http://getbem.com/).
# Overview - What is BEM?
BEM—Block Element Modifier is a methodology that helps you to create reusable components and code sharing in front-end development. It aims to group css-classes in a meaningful way, making it easier to understand
1. where this class is used
2. what it describes and
3. what state the element is in.
The BEM-notation is divided into three main parts: Blocks, Elements and Modifiers.
## Blocks
A standalone entity that is meaningful on its own. Some examples might be **headers, containers, menus, inputs, checkboxes**, etc.
## Elements
A part of a block that has no standalone meaning and is semantically tied to its block. This could be a **menu item or an input placeholder**.
## Modifiers
A flag on a block or an element. Used to change appearance or behavior. This might be **disabled, checked, fixed, big**, etc.