bem的优势
最近在开发一个组件库,选择了BEM作为css的组织形式,主要考虑了以下三个方面的优势:
- 逻辑分层,容易理解。BEM基于block、element、modify的组织形式,基本与组件的组织形式吻合。只要遵循了BEM的命名方式,对于开发和修改组件,哪些元素和状态已经存在,都可以直观的看出来。反过来,通过html标记的BEM命名,可以直观地理解组件的功能和依赖关系。
- 强约束,便于团队协作。只要定义好了大的框架和命名,那么团队其他成员基于BEM的规范进行开发,理解成本降低,而且基本不存在样式冲突的问题。
预编译器支持
目前常用的css预编译器,如sass、less、stylus,基本对BEM的支持都很好,举个例子(语法差异暂时忽略):
.block {
&__element {
}
&--modifier {
}
}
编译后:
.block {
}
.block__element {
}
.block--modifier {
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。