Учитывая следующую структуру дерева BEM, где существуют пять вложенных уровней:
collection-main__features-top__story__byline__author
в соответствии с соглашением об именах BEM, где элемент является частью блока и не имеет значения вне того блока, к которому он принадлежит, что является правильным способом назвать класс author
?
Так как a author
семантически привязано к контексту byline
и story
, но не имеет смысла при блоках features-top
и collection-main
, каково наилучшее имя BEM?
collection-main__author
features-top__author
story__author (best?)
story__byline__author
byline__author
Что произойдет, если введен новый блок features
?
collection-main__features-top__story__byline__author (target)
collection-main__features-bottom__story__byline__author
features-top__story__author
story--features-top__author (best?)
Наконец, что произойдет, если добавится еще один блок collection
, и мы хотим стилить второй элемент author в списке?
collection-main__features-top__story__byline__author
collection-main__features-bottom__story__byline__author (target)
collection-sub__features-top__story__byline__author
collection-sub__features-bottom__story__byline__author
Сделаем ли мы что-нибудь подобное?
story--collection-main--features-bottom__author
Должен быть лучший вариант.