返回

不懂BEM规范,你还敢写CSS?

前端

不懂BEM规范,那你还敢写CSS?

啊哈!居然还有人不知道 BEM 规范?

好吧好吧,今天我就来科普一下,让你见识见识啥叫真正的 CSS 写法!

BEM规范,了解一下

啥是 BEM 规范?BEM 规范是一种 CSS 类名命名规范,它能让你写出清晰、可维护、可扩展的 CSS 代码。

BEM 规范有三个主要组成部分:

  • 块 (Block) :页面上独立的组件,比如导航栏、侧边栏、正文等等。
  • 元素 (Element) :块的一部分,比如导航栏里的链接、侧边栏里的菜单等等。
  • 修饰符 (Modifier) :用于修改块或元素的类名,比如导航栏的激活状态、侧边栏的折叠状态等等。

举个栗子,一个导航栏的 HTML 代码和 BEM 规范的类名可以是这样写的:

<nav class="block-nav">
  <ul class="element-nav-list">
    <li class="element-nav-item">
      <a class="element-nav-link" href="#">首页</a>
    </li>
    <li class="element-nav-item element-nav-item--active">
      <a class="element-nav-link" href="#">关于</a>
    </li>
    <li class="element-nav-item">
      <a class="element-nav-link" href="#">联系我们</a>
    </li>
  </ul>
</nav>
.block-nav {
  background-color: #333;
  color: #fff;
  padding: 10px;
}

.element-nav-list {
  list-style-type: none;
  display: flex;
}

.element-nav-item {
  padding: 0 10px;
}

.element-nav-link {
  color: #fff;
  text-decoration: none;
}

.element-nav-item--active {
  background-color: #f00;
}

是不是一目了然,清爽多了?

BEM规范的优势

BEM规范有啥好处?除了刚才说的清晰可维护之外,还有:

  • 可扩展性强 :你可以轻松地添加新的块、元素和修饰符,而不用担心影响现有的代码。
  • 可复用性高 :你可以将块、元素和修饰符在不同的页面上复用,减少重复代码。
  • 易于调试 :BEM 规范的类名很容易识别,可以让你快速找到并修复 CSS 问题。

总而言之,BEM 规范是写 CSS 的不二之选。如果你想让你的 CSS 代码更清晰、可维护、可扩展,那就赶紧用起来吧!