グローバル スタイルの使用に関しては、少し混乱しています。次の点を考慮してください。
ボタンの作成方法を定義するスタイルシートがあるとします。
/* Button.CSS */
button {
background-color: #CCC;
}
button.Blue {
background-color: #00F;
color: #FFF;
}
Button.Blue.Hollow {
background-color: none;
border: 1px solid #00F;
color: #00F;
}
次に、テンプレートのボタンを標準の BEM 表記で使用します (Block__Element--Modifier 表記を使用します)。
<!-- index.html -->
<ul class="Widget">
<li class="Widget__Item">
<button class="Widget__Button"></button>
</li>
<li class="Widget__Item">
<button class="Widget__Button Blue"></button>
</li>
<li class="Widget__Item">
<button class="Widget__Button Blue Hollow"></button>
</li>
</ul>
そのようなクラスを混在させることは、許容される慣行ですか? カプセル化されたブロックのスタイリングのルールに違反しているように感じます。