时间:2016-11-04 20:04:53
原文地址:https://github.com/zhongxia245/blog/issues/48css
挺早就据说过BEM了,也大概的知道怎么用,可是具体 BEM 指啥,具体有啥要求,还不是很清楚,而后今天就学习了下。前端
BEM的意思就是块(block)、元素(element)、修饰符(modifier),是由Yandex团队提出的一种前端命名方法论。这种巧妙的命名方法让你的CSS类对其余开发者来讲更加透明并且更有意义。BEM命名约定更加严格,并且包含更多的信息,它们用于一个团队开发一个耗时的大项目。git
重要的是要注意,我使用的基于BEM的命名方式是通过Nicolas Gallagher修改过的。这篇文章中介绍的这种命名技术并非原始的BEM,但倒是一个我更喜欢的改进版。不管实际使用了什么样的符号,它们其实都是基于一样的BEM原则。github
命名约定的模式以下:segmentfault
.block{} .block__element{} .block--modifier{}
.site-search{} /* 块 */ .site-search__field{} /* 元素 */ .site-search--full{} /* 修饰符 */
例子:
ide
B:header-tabs //名字随便
E:header-tabs__item //多个tab选项
M:header-tabs__item--active //选中状态学习