Как назвать субэлементы по БЭМ? - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть вопрос, касающийся соглашений об именах классов BEM (блочный элементный модификатор).

Что если мне нужно иметь 3 вложенных элемента div, как мне назвать класс 3-го класса?

.one{} //block
.one__two{} //block element
//?
<div class="one">
  <div class="one__two">
  
    <!-- How should I rename class "three"? -->
    <div class="three"></div> 
    
  </div>
</div>

Я хочу переименовать «.three» в «one__two__three», или «two__three», но я не уверен, что это правильно, потому что, как японимаем, согласно БЭМ вложенность элементов внутри элементов не допускается.

1 Ответ

1 голос
/ 12 апреля 2019

Для меня это отношения, особенно отношения ключ-значение, поэтому я бы подошел к этому так.

Не исследуя контекстуальные парадигмы именования, можно предложить использовать one__three.

В качестве альтернативы, если one является просто контейнером для two, тогда one можно переименовать в two__container и three переименовать в two__item. Конечно, это не имеет особого смысла при использовании таких пронумерованных ярлыков, но я надеюсь, что вы можете увидеть, к чему это может привести.

...