George Moller
_georgemoller
HOW TO
PROPERLY
NAME CSS
CLASSES
George Moller
_georgemoller
01 BEM METHODOLOGY
BEM
Block Modifier
e.g
e.g
.btn {
/*...*/
Element .btn--primary {
/*...*/
} e.g
}
.btn__icon {
/*...*/
}
George Moller
_georgemoller
02 BLOCK
A block is an element that is meaningful on it’s own.
George Moller
_georgemoller
03 ELEMENT
Elements are always parts of a block and have no standalone
meaning.
CSS class is formed as the block
name + two underscores +
element name: .block__elem
George Moller
_georgemoller
04 MODIFIER
Think of the modifier as a flag used to change the appearence,
behavior or state.
CSS class is formed as block’s or
element’s name + two dashes:
.block__elem--modifier
.block--modifier
George Moller
_georgemoller
05 BEM: PRACTICAL EXAMPLES
George Moller
_georgemoller
06 BEM: PRACTICAL EXAMPLES
George Moller
_georgemoller
07 BEM: PRACTICAL EXAMPLES
George Moller
_georgemoller
08 BEM: PRACTICAL EXAMPLES
When nesting blocks ask yourself:
Does this nested block make sense on it’s own? if so, write it as a reusable block.