abused: That “With power comes great responsibility” thing Nesting #nav > li > .wrapper a:hover:before, #nav > li > .wrapper a:focus:before { … } #sidebar div.widget h2.title a span { … } ...
convention helps to scope component CSS and make your widgets render more predictably. .MyComponent {} .MyComponent.is-animating {} .MyComponent--modifier {} .MyComponent-part {} .MyComponent-anotherPart {}
BEM "Standard BEM" is also a poor choice for migrations, because .menu is going to collide with the legacy .menu code that has no isolated structure to it. Whereas the name .Menu won't, and it maps more obviously with associated JS functions and View code. PascalCase plays nice with React and JS components.
part of the UI. Don't try to do too much. Each component should have a dedicated CSS file. Ideally your component's files are grouped together in a dedicated directory.
own width, margin, and positioning. By authoring a component to be full-width or inline, it can better adapt to the dimensions of an ancestral context.