H5Skills icon indicating copy to clipboard operation
H5Skills copied to clipboard

BEM 命名规范

Open ONE-SUNDAY opened this issue 7 years ago • 1 comments

BEM 其实是块(block)、元素(element)、修饰符(modifier)的缩写,利用不同的区块,功能以及样式来给元素命名。这三个部分使用 __-- 连接(这里用两个而不是一个是为了留下用于块儿的命名)。命名约定的模式如下:

.block {}
.block__element {}
.block--modifier {}
  • block 代表了更高级别的抽象或组件
  • block__element 代表 block 的后代,用于形成一个完整的 block 的整体
  • block--modifier 代表 block 的不同状态或不同版本
.block {
    @at-root #{&}__element {}
    @at-root #{&}--modifier {}
}
/* 生成的CSS */
.block {}
.block__element {}
.block--modifier {}

参考资料:https://mrzhang123.github.io/2017/04/05/BEM/

ONE-SUNDAY avatar Jul 11 '17 12:07 ONE-SUNDAY

.block {
  &__element {
    color:#30d;
  }
  &--modifier {
    font-size:12px;
  }
}

afeiship avatar Apr 04 '18 07:04 afeiship