Как оформить такой html в стиле БЭМ?

Приветствую всех, знатоков! Можете мне пожалуйста разъяснить вот такой вопрос. Допустим у нас есть html
<a href="#" class="block">
   <span class="block__element">span</span>
   <span class="block__element2">span2</span>
</a>

И задача состоит в следующем, нужно при hover эффекте на .block, изменить .block__element как то по своему и .block__element2 как-то по своему.
В голову сразу приходит идея
.block:hover .block__element{
    color: green;
}
.block:hover .block__element2{
    color: red;
}

Но, увы это противоречит БЭМ методологии, так как уже выплывает каскад в стилях. Как же решают такой вопрос "по-БЭМовски"? Не уж-то javascript нужно крепить? Это же громозко и не удобно ещё и js лепить, легче же и более кроссбраузерно решить через css эту проблему. Пытался что-то найти в документации, посмотрел мастер классы от Яндекс-разработчиков, так и не узнал решение, точнее на этом никто просто не акцентировал внимание, хотя проблема может и заключаться в других ситуациях когда нужно прикрепить на главный блок модификатор --active и при active дочерним элементам задать стиль.
  • Вопрос задан
  • 713 просмотров
Пригласить эксперта
Ответы на вопрос 2
Не вижу ничего криминального в том чтобы сделать в данном случае каскад.

Если не ошибаюсь в БЭМ речь о минимизации каскада, а не в полном отказе от него.

Тем более если из всего БЭМ вы используете только соглашение о наименовании и общие принципы.

БЭМ ведь не Священное писание, а просто методология, инструмент, который никто не запрещает настраивать для себя.
Ответ написан
In4in
@In4in
°•× JavaScript Developer ^_^ ו°
Так и делается.

Это селектор вида block(mod) element, он не выходит за рамки БЭМ.

(К примеру .block--left .block__element)

Просто модификатором выступает псевдокласс.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы