我很难理解如何正确使用BEM命名约定编写scss。scss BEM修饰符的难点
在这里我有一些HTML:
<div class="SomeBlock">
<div class="SomeBlock__someElement">text</div>
</div>
<div class="SomeBlock">
<div class="SomeBlock__someElement--greenBG">text</div>
</div>
<div class="SomeBlock">
<div class="SomeBlock__someElement--orangeBG">text</div>
</div>
而且后续SCSS:
.SomeBlock {
margin: 10px 0 0 0;
color: white;
width: 100px;
height: 50px;
background: red;
&__someElement {
background: blue;
text-align: center;
&--greenBG {
background: green;
}
&--orangeBG {
background: orange;
}
}
}
我会希望发生的是有3个不同的块,所有相同的,但不同颜色的backgrounds
,这是发生了什么除了文本没有居中,因为我期望它是因为我的元素风格有text-align: center;
什么是我误解了?我已经阅读了关于BEM的一些教程,但我仍然不明白。
感谢您的好解释。如果我将来陷入困境,我会回顾一下。 – Chirpizard