你知道BEM,你每次都用吗?

1,337 阅读2分钟

一.首先来介绍一下什么是BEM

在两个礼拜之前,我是不知道什么是BEM的,这两个礼拜,跟着老师系统地学习了一下,也去网络上搜索了一下,在网上看到人们对它的评价褒贬不一,有人说它对开发者来说更加透明而且更有意义,但也有人说它太臃肿了,丑极了。但我认为BEM规范了命名,并且使得前端代码更易于阅读理解,并且是可扩展的,便于团队协作后期维护。下面我便来说一下我对BEM的认识。 下面这张图是我第一次接触BEM时保留的。

屏幕截图 2022-04-10 192013.png
1.BEM的意思就是块(block)、元素(element)、修饰符(modifier),是由[Yandex]团队提出的一种前端命名方法论。 2.BEM B:Block(块) E:Element(元素) M:Modifier(修饰符) 并且三个模块之间使用__ 与--连接 (为了于_-区分:CSS 类名的单词连字符选用下划线还是横杠?请参考: blog.csdn.net/risingwonde…

二.为什么使用BEM

  1. 规范
    • 现如今的代码界,已经可以说是一个超级庞大的家族了,那么一个大家族是必须要有规章制度的,否则杂乱无章,难以管理,而BEM便在其中起了不可或缺的作用。它让所有东西之间的联系变得更加紧密,让团队甚至是你个人都能够更加容易地维护代码。
  2. 语义化
    • 它可以使代码变得一目了然 下面的代码是不是一看就明白了

      .person{} /*人*/
      .person__hand{} /*人的手*/
      .person--female{} /*女人*/
      .person--female__hand{} /*女人的手*/
      .person__hand--left{} /*人的左手*/
      
    • 但如果是这样的呢?

      .person{}
      .hand{}
      .female{}
      .female-hand{}
      .left-hand{}    
      
    是不是就不好理解了,hand指的是手还是指针,female是女性还是雌性,female-hand是女性还是雌性的手?left-hand什么的左手,还是指针的左边?

小总结

CSS BEM的学习,是我们踏上一线大厂的必经之路,我们要遵守规范,才能成长,正所谓国有国法,家有家规,咱们代码界也要有规矩,这只是我们学习的第一项,以后还有千千万万,目前我还比较菜,但是哪个大厂程序员不是一步一步走出来的,以大厂为目标,认真学习好代码规范,细节,努力卷一卷,冲大厂!