规范
BEW指 块(block),元素(element),修饰符(modifier)。
__用来连接B和E 。
_用来连接B和M,E和M,如 search__btn_active。
-用来连接含多个单词的B或E或M。
示例
块:例如搜索框块,log的块,菜单块
search块,用search和元素(ipt、btn)连接
<ul class="search">
<input class="search__ipt" />
<button class="search__btn">
</button >
</ul>
item、container、box也化到元素E里
<!-- 某个块 -->
<form class="search-form">
<!-- 某个元素 -->
<div class="search-form__content-left">
<!-- 错误:不能出现多个元素 -->
<h2 class="search-form__content-left__h2">标题</h2>
<!-- 某个元素,虽然是子集,保证了只有一级元素 -->
<input class="search-form__input">
<!-- 某个元素,加上了hover修饰器 -->
<button class="search-form__button search-form__button_hover">搜索</button>
<button class="search-form__button-set search-form__button-set_hover">搜索1</button>
<!-- 错误:不能单独使用lg修饰器 -->
<button class="search-form__button_lg">搜索</button>
<!-- 块中可嵌套着另一个块 -->
<p class="my-img">
<img class="my-img__logo" src="abc.png" alt="image" title="image">
</p>
</div>
</form>
/* 在SASS文件中,也需要注意嵌套层次的意义,尽量按照 BEM三层来 */
.search-form {
&__button {
&_hover {}
}
&_button-set {
&_hover {}
}
}