Ich verwende lowCamel für Klassennamen und UpperCamel für IDs. Das ist ziemlich wichtig und ich beziehe diese alte Antwort, weil IMO der Bindestrich-Stil sollte entmutigt werden, sogar Unterstrich ist besser als Bindestrich.
Warum? Weil jede andere Sprache keine Namen mit Bindestrichen enthalten kann. Zum Beispiel kann Ihre IDE die automatische Vervollständigung korrekt aufnehmen oder nicht.(Meine IDE kann nicht, es ist VI: P)
CSS ist eng verwandt mit JavaScript, Bindestrich Klassenname machen es auch schwierig, mit JavaScript zu interopieren. Betrachten Sie die folgende (erfundene) jQuery:
// For each of the following class, perform a function
var funcs =
{
main: function(){ /* ... */},
toolbar: function(){ /* ... */ },
// Oops, need to use a quote because there's this hyphenated name
'customer-info': function(){ /* ... */ }
};
// Woot, a O(n^2) function
for(var className in funcs)
{
var func = funcs[className];
// maybe if we named it $('#some-selector')? The hyphen suddenly feels
// like some kind of operator to me. Makes me nervous :/
$('#SomeSelector div').each(function()
{
if($(this).hasClass(className)) func();
});
}
Es gibt keinen klaren Vorteil, den Bindestrichen Stil anders als subjektive Ästhetik verwenden. Die Nachteile sind, dass es sich von jeder anderen Programmiersprache abhebt (OK, CSS ist vielleicht keine Programmiersprache, naja ..) und dass es technisch falsch ist.
Die richtige (huh?) Art, ein Leerzeichen darzustellen, ist unterstrichen. Betrachten Sie diesen Ausdruck "einen selbst adressierten Brief", wie kann ich die Leerzeichen konvertieren?
- a_self-addressed_letter (richtig, bewahrt die ursprüngliche Bedeutung)
- a-selbst adressierten Buchstaben (autsch!, Wenn wir es zurück konvertieren wir bekommen "ein sich selbst adressierten Brief"!)
Ist es auch eine Best Practice, immer alle Kleinbuchstaben für CSS-Namen zu verwenden, weil sie nicht zwischen Groß- und Kleinschreibung unterscheiden?
Ich denke, in diesem Fall ist es eine bewährte Methode, immer PascalCasing zu verwenden, weil es die Lesbarkeit erleichtert.
Es tut mir leid, dass ich Ihre Antwort abwählen musste, weil ich nicht glaubte, dass es ein rein ästhetisches Problem ist. Wenn Menschen gängige Stile übernehmen, wird der Code lesbarer und damit wertvoller. –