我很難理解如何正確使用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