@Vadimmmmm

Модификатор у родителя SCSS, BEM?

Привет!
Есть такая разметка:
<div className="block">
      <div className="block__element_active">...</div>
      <div className="block__element_hidden">...</div>
</div>

, с такими стилями:
.block {

	&__element {

		&_active {

		}

		&_hidden {

		}
	}
}


Появилась необходимость задавать стили для блока, его элементов и модификаторов в зависимости от платформы (web/mobile).

Разметка стала такой:
<div className="block block_web">
      <div className="block__element_active">...</div>
      <div className="block__element_hidden">...</div>
</div>


и стили соответственно:
.block {

	&_web {

		&__element {

			&_active {
				
			}

			&_hidden {
				
			}
		}
	}
}


но в таком случае ругается линтер, мол селектор не по БЭМу: https://i.imgur.com/HjHIrTs.png

Собственно вопрос - как лучше организовать классы и стили к ним и при этом соответсвовать БЭМ-у?
  • Вопрос задан
  • 700 просмотров
Пригласить эксперта
Ответы на вопрос 2
vmakhnyuk
@vmakhnyuk
Frontend developer
Как вариант использовать микс в селекторе
class=“block block-web”
Ответ написан
Комментировать
delphinpro
@delphinpro Куратор тега Sass
frontend developer
ругается линтер, мол селектор не по БЭМу:


Разумеется. Вы посмотрите что там в итоге-то получается...
Вот так следует записать:

.block {
  &_web &__element {
      &_active {  }
      &_hidden {  }
  }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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