Уважаемые коллеги, подскажите, пожалуйста, как правильно переопределять стили блока, например:
.article__text {color: blue;} /* стиль текста именно в блоке article*/
.text {color: red;} /* общий стиль текста блока text*/
<div class="article">
<p class="text article__text">Текст все равно красный!</p>
</div>
Стиль текста article__text все равно не меняется, потому что .text расположен ниже (сборка стилей в main.css происходит по алфавиту). Считаю, что использование !important или дополнительную вложенность элементов - это не метод БЭМ, так как же правильно обходить такую ситуацию? Следить за алфавитным порядком стилей в большом проекте также объективно не имеется возможности.
Или я неправильно понимаю использование миксов? Укажите, пожалуйста, на ошибку.
Хорошо бы иметь более полную картину.
Абзац в вопросе является всего лишь упрощенным примером. Если ближе к реальности, то я хотел бы сделать страницу с несколькими разделами section: intro, profits, contacts, например. При этом, у меня:
соответственно, следующий момент работать не будет:
Получается, необходимо создавать:
Но такой подход меня смущает излишними классами, а если именно у .profits будут еще дополнительные отличия от общего section, то придется вообще писать:
Или так оно по сути и подразумевается?