为什么BEM经常使用两个下划线而不是一个下划线? [英] Why does BEM often use two underscores instead of one for modifiers?
问题描述
在BEM中,我知道使用修饰符时,两个破折号很有意义,因此您可以在 my-block-my-modifier
中将修饰符与 my-block--my-modifier
。
In BEM, I understand that with modifiers, two dashes makes sense so that you can distinguish the modifier in my-block-my-modifier
with my-block--my-modifier
.
但是为什么要使用 block__element
而不是 block_element
?
But why use block__element
instead of block_element
?
推荐答案
双下划线
即:
<nav class="main-nav">
<a class="main-nav__item" href="#">Text</a>
</nav>
其中 main nav
是块& ; main-nav__item
是一个子元素。
Where main-nav
is a block & main-nav__item
is a sub element.
之所以这样做,是因为某些人可能会这样命名他们的区块 main_nav
会引起单个下划线的混淆,例如: main_nav_item
This is done because some people might name their block like this main_nav
which will create confusion with single underscore like this : main_nav_item
因此,双下划线将阐明以下内容: main_nav__item
。
Therefore double underscore will clarify stuff like this: main_nav__item
.
这篇关于为什么BEM经常使用两个下划线而不是一个下划线?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!