2010-02-26 7 views

Antwort

28

Der allgemeine Gedanke ist Bindestriche zu verwenden. Es gibt in der Tat mögliche Kompatibilitätsprobleme mit anderen Optionen.

  • Unterstreichungen sind in Klassennamen oder IDs in bestimmten (gewährten, alten, NS4-Typ) Browsern nicht zulässig.
  • Die CSS-Spezifikation legt nicht fest, wie Browser die Groß-/Kleinschreibung behandeln soll. Daher lässt die Verwendung von camelCase Offenlegung für mehrdeutige Interpretation zu.

Darüber hinaus verwendet CSS Bindestriche intern für Dinge wie first-child.

Obwohl die Kompatibilitätsprobleme sind in der Regel kein Thema in modernen Browsern, das ist, wie der Standard zustande kam, und ich empfehle mit ihm kleben. Es wäre in Ordnung, wenn Sie abweichen würden, aber warum?

+2

Gute Punkte. Auch kann ich keine Bindestriche in Variablennamen und in Hilfsmethoden in Rails verwenden, die einen weiteren Hinweis hinzufügen, um CSS-Klassen zu unterscheiden, wenn ich sie hyphened halte. – deb

2

Ich glaube wirklich, dass es an Ihnen liegt. Was jedoch wichtig ist, ist konsistent zu sein. Zum Beispiel verwende ich gerne Unterstriche für IDs und Bindestriche für Klassen.

+2

...das klingt für mich irgendwie inkonsequent, da mein Gehirn CSS als eine Sache gruppiert. Ist das, um Klassen und IDs getrennt zu halten, was den mentalen Speicher angeht? – Matchu

0

Es ist wirklich egal und kommt auf Ihren persönlichen Geschmack. Für ein Projekt sollte es jedoch konsistent sein! Wenn also bereits ein CSS vorhanden ist, wählen Sie den Stil, der von diesem Stil festgelegt wurde.

0

ich Bindestriche (-) für alles HTML/CSS und unterstreicht für PHP-Variablen. Hält Dinge für mich organisiert.

0

Ich verwende Bindestriche. Wahrscheinlich, weil viele Dinge im Internet die Groß- und Kleinschreibung betreffen und ich bei der Arbeit im Web immer Kleinbuchstaben für Dateinamen verwende. Unterstreichungen sind schwer zu sehen, wenn sie unterstrichen werden, also scheue ich mich auch vor ihnen.

scheint die meisten Menschen Camelcase aber:

poll on what people use

+0

Das ist ein interessanter Link, danke fürs Teilen. CamelCase ist für mich am verwirrendsten, da ich gewohnt bin, Klassennamen in CamelCase zu rubinieren. – deb

0

"In CSS können Bezeichner (einschließlich Elementnamen, Klassen und IDs in Selektoren) nur die Zeichen [a-zA-Z0-9] und ISO 10646 Zeichen U + 00A1 und höher sowie den Bindestrich (-) und der Unterstrich (_); sie können nicht mit einer Ziffer oder einem Bindestrich gefolgt von einer Ziffer beginnen. Bezeichner können auch maskierte Zeichen und jedes ISO 10646-Zeichen als numerischen Code enthalten (siehe nächster Punkt). B & W? "Kann als" B \ & W \ "oder" B \ 26 W \ 3F "geschrieben werden."

3
.hyphens-for-multi-word-names 
.underscores_for_pseudo_namespacing 

Ergebnisse in:

.grid-system_push-100 
\_________/ \______/ 
    namespace object 

Namespace und Objekt können leicht für eine Art von BEM Implementierung vorgesetzt werden.

.grid-slot { }   /* block */ 

.grid-slot_size-100 { } /* block-specific modifier */ 

._size-100    /* generic modifier */ 

My $ 0,02

Verwandte Themen