00、模块化CSS理论——BEM目录

BEM(Block Element Modifier),块元素修饰符,在SMACSS的基础上修改toggle组件的示例如下:

1
2
3
4
5
6
7
<div class="toggle toggle—simple”>
<div class=“toggle__control toggle__control—-active”>
<h1 class=“toggle__title”>Title 1</h1>
</div>
<div class=“toggle__details toggle__details--active“>…</div>
...
</div>

BEM只是一个CSS类名命名规则,让每一个CSS类名具备详细的自描述性,不涉及如何书写CSS结构,只是建议每个元素都添加带有如下内容的CSS类名:

  1. 块名:所属组件的名称。
  2. 元素:元素在块里面的名称。
  3. 修饰符:任何与块或元素相关联的修饰符。

元素名加在双下划线之后(例如toggle__details),修饰符加在双横杠之后(如toggle__details—-active)。

资料翻译列表

  1. 介绍(Introduction)
  2. 命名(Naming)
  3. 常见问题(FAQ)