"To BEM, or not to BEM" - An introduction to a BEM methodology, why it's worth to start using it, what you should avoid and a case study based on some refactoring experiences at Wimdu.
to the minimum, • Styling by class names only (OOCSS), • Easy to maintain, • Class names are unique per block, • Clear rules on how to name new elements inside a block, • Blocks are independent (most of the time).
class="flash__icon"></i> <div class="flash__header"> <h3 class="flash__title">Lorem ipsum dolor sit amet</h3> </div> <div class="flash__body"> Lorem ipsum dolor sit amet... </div> </div> A success message with an icon on COP
<i class="flash__icon"></i> <div class="flash__header"> <h3 class="flash__title">Lorem ipsum dolor sit amet</h3> </div> <div class="flash__body"> Lorem ipsum dolor sit amet... </div> </div>
Yandex Way The CSSGuidelin.es / Wimdu Way <div class="block__element"></div> <div class="block__element block__element--modifier"></div> Your Way <div class="block-_-element"></div> <div class="block-_-element block-_-element-o_O-modifier"></div>
• Simplifies CSS selectors, • No styling by elements (OOCSS), • Makes maintenance easier, • Class names are unique per block, • Blocks are independent. • Hard to implement in smaller projects (sometimes), • Problems with naming blocks, • “Hacks” to avoid BEM’s Bootstrap effect.