Основное отличие состоит в том, что block__element__element
не является допустимым селектором БЭМ. Разметка, которую вы указали в своем вопросе, является ПРАВИЛЬНЫМ способом именования ваших элементов.
Создать блок
Если часть кода может быть повторно использована и не зависит от других
внедряемые компоненты страницы.
Создать элемент
Если часть кода не может использоваться отдельно без родителя
сущность (блок).
Исключением являются элементы, которые должны быть разделены на более мелкие части -
подэлементы - для упрощения разработки. В БЭМ
Методология, вы не можете создавать элементы элементов. В случае как
это, вместо создания элемента, вам нужно создать сервис
блок.
Больше информации в официальной документации: https://en.bem.info/methodology/quick-start/#should-i-create-a-block-or-an-element
Если вы хотите иметь заголовок меню, разметка должна выглядеть примерно так:
<div class="menu">
<h2 class="menu__title">..</h2>
<div class="menu__item">
<div class="menu__item-title">
</div>
</div>
</div>
БЭМ становится немного сложнее, когда у вас есть «дети» элемента. Но либо используйте menu__item-title
соглашение об именах, либо переосмыслите свой элемент, возможно, его можно отделить и использовать повторно как Block ?