Leider wird _
zum Trennen von Element- oder Blockmodifikatoren verwendet. So ist es nicht gültig mit BEM zu verwenden.
Gültige Namen für Ihr Beispiel:
header-menu
headerMenu
Weitere ähnliche Beispiele:
Hyphen Stil:
header-menu -> block
header-menu__logo -> element
header-menu_theme_xmas -> block modifier
header-menu__logo_size_big -> element modifier
Camelcase-Stil:
headerMenu -> block
headerMenu__logo -> element
headerMenu_theme_xmas -> block modifier
headerMenu__logo_size_big -> element modifier
Aus der Dokumentation:
Benennungsregeln block-name__elem-name_mod-name_mod-val
Namen sind klein- und lateinischen Buchstaben geschrieben.
Wörter werden durch einen Bindestrich (-) getrennt.
Der Blockname definiert den Namespace für seine Elemente und Modifikatoren.
Der Elementname wird durch einen doppelten Unterstrich (__) vom Blocknamen getrennt.
Der Modifikatorname wird vom Block- oder Elementnamen durch einen einzelnen Unterstrich (_) getrennt.
Der Modifikatorwert wird durch einen einzelnen Unterstrich (_) vom Modifikatornamen getrennt.
Für boolean Modifikatoren, wird der Wert nicht in der mitgelieferten name.block-name__elem-name_mod-name_mod-val
Weitere Informationen über Namenskonventionen: https://en.bem.info/methodology/naming-convention/