使用BEM时常见的用途是什么?我无处可寻。
在SCSS中,我可以对其块的修饰符进行.block__element dependent
吗?
例如,假设.header__text
始终为白色,但仅当.header
具有修饰符.header--bgblue
时才会显示。
<div class="header">
<div class="header__text">
Default color is black
</div>
</div>
<div class="header header--bgblue">
<div class="header__text">
I want this to be white because it's inside header--bgblue
</div>
</div>
或者最好是为每个元素制作单独的元素修饰符吗?
<div class="header header--blue">
<div class="header__text header__text--white">
I want this to be white because it's inside header--bgblue
</div>
</div>
在这种情况下,这是一个很小的努力但是当有更多的依赖(例如涉及更多的元素)时,这是要走的路吗?
答案 0 :(得分:1)
BEM没有绝对的规则,但这是一个非常好的问题!
在纯粹的理论BEM中,您应该更喜欢.header__text--white
,原因有两个:
但是个人,我经常选择.header--bgblue .header__text
:
总结一下,这是您的选择! 你应该根据用例进行调整;)