2017-12-23 5 views
1

Viele Leute benennen ihre Klassen so: header-menüWie ist die richtige Benennung einer Klasse?

Ich persönlich bevorzuge header_logo; weil es für einen faulen Programmierer einfacher zu lesen sowie zu kopieren ist.

Gibt es signifikante Unterschiede zwischen der Namensklasse mit "_" oder "-"?

Ich bin wirklich neugierig und würde gerne mit der besten Methode gehen; bitte erleuchte mich;

Danke!

Antwort

2

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/

0

Es ist nicht die richtige Art und Weise, nur Verwenden Sie die gewünschte css-Namenskonvention. Natürlich gibt es einige Richtlinien, denen Sie folgen oder einfach ignorieren können: BEM, SMACSS und viele mehr.

Verwandte Themen