BEM命名法到底是啥

96 阅读1分钟

what

(代表 Block-Element-Modifier)是 CSS 类名称的命名约定标准。它具有相当广泛的运用,并且在编写CSS 时更易于阅读、理解和扩展。

[block]__[element]--[modifier]

why

  1. 内容:它传达了目的或功能。
  2. 形式:它传达了结构。
  3. 传播:语义化的标签易于阅读,更优雅。

how

  • Block块:代表的是包裹我的容器。
  • Element元素:代表的是我是谁
  • Modifier修饰符:代表的是我处于什么状态。
示例:

如果你想在导航里放入个 logo 应该怎么写?
.nav__logo
如果你想在一个 class 叫 photo 的容器里放入图片应该怎么写?
.photo__img
如果图片还要加上边框呢?
.photo__img--framed