2009-05-14 5 views
1

Welche zwischenmy_css_class VS my-CSS-Klasse

.my_css_class{} 

... und ...

.my-css-class{} 

ist der beste Weg zu gehen, und warum? Ist es nur Best Practice oder gibt es einen anderen Grund?

Antwort

2

Der eine Grund, mit dem Unterstreichungsstil zu gehen, ist, dass es mit der Benennung von Variablen und Typen in anderen Sprachen (C *, Java, usw.) übereinstimmt. Ich denke, dass es etwas besser ist, mit etwas Vertrautem zu gehen, so dass es natürlicher ist, die Quelle zu lesen (und schneller).

Ansonsten klingen auch die anderen Vorschläge vernünftig. Vielleicht haben Sie schnelle Chat mit Ihrem Team und gehen Sie mit, was am besten für alle funktioniert.

+1

Ich mache etwas sehr ähnliches - ich benutze die gleichen Namenskonventionen, die ich für Variablen/Mitglieder in Java, JavaScript, PHP usw. verwenden ... camelCase! –

+1

Ich bin mit Andrew in diesem (upvoted der Kommentar); camelCase scheint mit allem anderen, was ich mache, konsistenter zu sein. –

+0

Ich habe nichts über Kamelfall gesagt, weil es nicht in der Frage war, aber ich stimme zu. –

8

Entweder ist in Ordnung - ich würde wählen, welche Sie (und Ihre Kollegen) finden, um die lesbarste zu sein. Sie werden weder Gewinne noch Verluste finden, es ist eine rein ästhetische Entscheidung.

Aber was auch immer Sie tun - sobald Sie einen Stil auswählen - bleiben Sie dabei. Konsistenz ist der Schlüssel für solche Entscheidungen.

3

Ich bevorzuge Bindestriche zu Unterstrichen, da Unterstriche ein zusätzlicher Tastendruck sind - so trivial kann es sein, da es keinen Unterschied macht, und meiner Meinung nach sind beide gleichermaßen lesbar.

3

Ich bevorzuge Unterstriche, weil in Vim - sind Worttrennzeichen und es ist zusätzliche Arbeit, um den gesamten Namen hervorzuheben.

+0

Ich stimme Ihnen zu, es ist das gleiche in vielen IDEs – marcgg

2

Ich stimme mit allen hier zu - keiner ist besser, aber wählen Sie einen und bleiben Sie dabei.

Persönlich verwende ich Bindestriche aus dem gleichen Grund Andrew, sie sind einfacher zu tippen. Allerdings verwende ich auch Unterstriche für das jQuery-Klassen-Targeting.

So kann ich ".modal-Popup" für Stile haben.

Und dann kann ich "._rollover" für das Targeting und das Anwenden von Funktionalität auf bestimmte Elemente verwenden, ohne sich Sorgen über das Anwenden unerwünschter Stile machen zu müssen. "._rollover" wird niemals Stilinformationen enthalten.

Es ist ein bisschen ein Hack, aber eine gute Möglichkeit, um die Grenze der auswählbaren Attribute in HTML zu umgehen.

+0

Ich würde das eine großartige Idee, nicht ein Hack! Das werde ich bei meinem nächsten Projekt berücksichtigen. Könnte zu mehr wiederverwendbaren semantischen Klassennamen und weniger Kopfschmerzen auf lange Sicht führen. –

0

Wenn Sie Bindestriche verwenden, können Sie die |= attribute selector verwenden, um eine Gruppe von Klassen zu wählen, basierend auf dem ersten Teil des Klassennamen:

/* Select open folders */ 
.folder-open { } 
/* Select closed folders */ 
.folder-closed { } 
/* Select both kinds */ 
*[class|="folder"] { } 

Browser haben varying support für diese Art von Selektor.

+0

Sie können das nicht verwenden, wenn Sie Unterstriche verwenden? – marcgg

+0

@Marc, anscheinend nicht, laut der verlinkten Seite (www.w3.org/). Aber das CSS 3 (ich denke '3'), erlaubt die Verwendung von * [class^= "folder"], was (zumindest 'viel') dasselbe ist, soweit ich das beurteilen kann. –

Verwandte Themen