Open Geptor opened 9 years ago
1) Для стилизации нескольких видов табов вполне подходит пример со вложенными селекторами. Подробнее см. https://ru.bem.info/method/faq/#Почему-в-БЭМ-не-рекомендуется-использовать-комбинированные-селекторы-для-создания-css-правил-к-модификатору
Вариант с активным элементом тоже совершенно уместен.
2) Вложенные селекторы при ховере — тоже нормально :)
3) Наименование классов.
По БЭМ имя класса пишется так
блок__элемент--модификатор-элемента
.
Классический вариант — использование одинарного подчеркивания в качестве разделителя модификатора (блок__элемент_модификатор-элемента
), но в целом можно использовать любые разделители. Подробнее см. https://ru.bem.info/method/naming-convention/
Допускается ли такая запись
блок--модификатор-блока__элемент
?
В классическом варианте — нет. Отказ от такого подхода связан со сложностями его применения в JS: модификаторы должны мочь изменяться динамически (например, при изменении активного элемента меню при клике) и такие селекторы потребуют гораздо больше усилий по приведению DOM в нужное состояние.
Здравствуйте. Недавно начал изучать БЭМ. Отказ от наследования дается мне тяжело. Нужен совет как лучше обыграть некоторые ситуации. 1) Ситуация с табами. Имеются стили для меню табов по умолчанию.
По дизайну есть несколько видов табов. Как правильно по БЭМ стилизовать табы? Использовать модификаторы для каждого элемена?
Или можно обойтись каскадом?
Еще ситуация с активным элементов. Плагин ставит свой класс активного элемента. Допускается ли такая каскадная стилизация активного элемента?
2) Ситуация когда по наведению на один элемент меняются стили соседних/вложенных элементов. Допусти при наведении на ссылку нужно показывать скрытый блок(менять его цвет и т.д.) в соседнем элементе.
Допускается ли такая запись по БЭМ? Как записать правильней?
3) Наименование классов. По БЭМ имя класса пишется так
блок__элемент--модификатор-элемента
. Допускается ли такая записьблок--модификатор-блока__элемент
?