Учитывая следующую древовидную структуру БЭМ, в которой существует пять вложенных уровней:
collection-main__features-top__story__byline__author
в соответствии с соглашением об именах БЭМ, где элемент является частью блока и не имеет значения за пределами блока, к которому он принадлежит, как правильно назвать класс author
?
Поскольку author
семантически связано с контекстом byline
и story
, но не имеет смысла в блоках features-top
и collection-main
, какое БЭМ-имя лучше?
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
Должен быть лучший вариант.
{collection-main: [{"feature-item": { story: {author: ''} } }]}
? - person Alex Baumgertner   schedule 12.01.2015