-
Notifications
You must be signed in to change notification settings - Fork 0
Description
刚入门的小菜鸟,总是会去关注一些大神在用什么工具啊!最新又出现了什么。因为了解的少,总是羡慕这别人在用什么(可能就我这个幼稚鬼这么想)。
CSS规范命名我一直是用‘驼峰命名法’,这也是要根据公司的团队的来定的(个人习惯也占一半)。刚入门的时候老师怎么教的就怎么用,自己也不太在意。正式上班了,看着别人的特别的舒服(没有对比就没伤害)就会意识到自己写的不太好。可能是我运气比较好,遇到了一个比较注意命名规范的团队。所以那时候就注意了自己的编程风格。切入正题:
如何更好的使用BEM?
BEM是由Yandex团队提出的一种CSS Class 命名方法,旨在更好的创建CSS/Sass模块。
BEM代表块(Block),元素(Element),修饰符(Modifier)。
首先你拿到设计稿大概的看一下布局,心里就要规划一下这个页面怎么布局,分成多少块。块就是区域(不太正确的说法)块里面就有元素。正确的CSS命名就是要保证class类名的唯一性(这是我们想要达到的理想效果吧)。类名唯一了就不用担心样式覆盖的问题了,特别是在后期维护的时候,新增加的组件样式要确保不会影响之前的。这也就是为什么我们要规范类名命名。
使用BEM,块的命名唯一(就是跟其他的块不能相同,但是复用相同的块是可以的)。块里面的元素可以根据块名作为前缀下划线区分加上元素名称。(nav_item)
例子:

前面我也说到,我个人比较喜欢用‘驼峰命名法’。 如果要舍弃掉好像有点难呀!两者能不能结合呢?
嗯啊!这样是不是很棒。不过这个BEM有个诟病命名很长,看起来html结构很冗长。尽量在命名的时候用常用易懂的单词。尽量都使用英文,不要一半拼音一半英文(这样真的很low)而且难以理解,不好维护。
后言:
参考链接:http://www.w3cplus.com/preprocessor/getting-sass-y-with-bem.html
