Пример использования BEM для примера кнопки и раскрывающегося меню: https://codepen.io/SROwl/pen/eYmVzBE
Объяснение:
Я бы написал раскрывающееся меню - навигация как раскрывающийся -menu__nav, поскольку это компонент раскрывающегося меню. Кроме того, я склонен перебазировать внутренние компоненты, показанные в примере навигации ниже.
Пример кнопки используется для отображения нескольких классов, используемых для создания нужного вам вида кнопки. Однако, если у класса .button нет тех же стилей, что и у .header__button, то в этом нет необходимости. Вы бы просто использовали .header__button.
Я бы использовал модификатор, если бы я хотел изменить цвет кнопки, например: .header__button - зеленый.
Я немного отошел от документации БЭМ, где они хотят, чтобы вы использовали что-то вроде: