У меня есть небольшая путаница, когда дело доходит до использования глобальных стилей. Рассмотрим следующее:
Скажем, у меня есть таблица стилей, которая определяет, как должны быть сделаны кнопки:
/* 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;
}
а затем вы используете кнопку в шаблоне со своей стандартной нотацией БЭМ (я буду использовать нотацию 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>
Это приемлемая практика смешивать классы таким образом? Я чувствую, что нарушаю какое-то правило стиля инкапсулированного блока.