-BEM (Block, Element, Modifier)是由Yandex团队提出的一种前端命名规范。 其核心思想是将页面拆分成一个个独立的富有语义的块(blocks),从而使得团队在开发复杂的项目变得高效,并且十分有利于代码复用,即便团队引入新成员,也容易维护。 在某种程度上,BEM和OOP是相似的。它原则上建议为独立的 CSS 类命名,并且在需要层级关系时,将关系也体现在命名中,这自然会使选择器高效且易于覆盖。
-block(块) 是一个独立的组件,可在项目中重复使用,并充当子组件(元素)的 "命名空间"。
当 block(块) 或 element(元素) 处于特定状态或结构或样式不同时,将 modifier(修饰符) 用作标志。
作者:lio_zero
来源:稀土掘金