Es gibt keinen.
Ich verwende ständig Unterstriche, da Bindestriche die Syntaxhervorhebung meines Texteditors (Gedit) durcheinander bringen, aber das ist meine persönliche Präferenz.
Ich habe all diese Konventionen überall gesehen. Verwenden Sie diejenige, die Sie für die beste halten - diejenige, die für Sie am besten / am einfachsten zu lesen und am einfachsten zu tippen ist, da Sie sie häufig verwenden werden. Wenn Sie beispielsweise Ihren Unterstrich auf der Unterseite der Tastatur haben (unwahrscheinlich, aber durchaus möglich), halten Sie sich an Bindestriche. Gehen Sie einfach mit dem, was für Sie am besten ist. Darüber hinaus sind alle drei Konventionen leicht lesbar. Wenn Sie in einem Team arbeiten, denken Sie daran, die vom Team festgelegte Konvention (falls vorhanden) einzuhalten.
Update 2012
Ich habe meine Programmierung im Laufe der Zeit geändert. Ich verwende jetzt camel case ( thisIsASelector
) anstelle von Bindestrichen. Letzteres finde ich eher hässlich. Verwenden Sie alles , was Sie bevorzugen, was sich im Laufe der Zeit leicht ändern kann.
Update 2013
Es sieht so aus, als würde ich die Dinge gerne jährlich durcheinander bringen ... Nachdem ich zu Sublime Text gewechselt und Bootstrap für eine Weile verwendet habe, bin ich zu den Bindestrichen zurückgekehrt. Für mich sehen sie jetzt viel sauberer aus als un_der_scores oder camelCase. Mein ursprünglicher Punkt bleibt jedoch bestehen: Es gibt keinen Standard.
Update 2015
Ein interessanter Eckfall mit Konventionen ist hier Rust . Ich mag die Sprache wirklich, aber der Compiler wird Sie warnen, wenn Sie Dinge mit etwas anderem als definieren underscore_case
. Sie können die Warnung deaktivieren, aber es ist interessant, dass der Compiler standardmäßig eine Konvention vorschlägt. Ich stelle mir vor, dass dies bei größeren Projekten zu saubererem Code führt, was keine schlechte Sache ist.
Update 2016 ( du hast danach gefragt)
Ich habe den BEM- Standard für meine zukünftigen Projekte übernommen. Die Klassennamen sind am Ende ziemlich ausführlich, aber ich denke, dass sie den Klassen und dem dazugehörigen CSS eine gute Struktur und Wiederverwendbarkeit verleihen. Ich nehme an BEM ist eigentlich ein Standard (so mein no
a wird yes
vielleicht) , aber es ist immer noch an Ihnen , was Sie den Einsatz in einem Projekt entscheiden. Am wichtigsten: Seien Sie konsequent mit dem, was Sie wählen.
Update 2019 ( Sie haben danach gefragt)
Nachdem ich eine Weile kein CSS geschrieben hatte, begann ich an einem Ort zu arbeiten, der OOCSS in einem seiner Produkte verwendet. Ich persönlich finde es ziemlich unangenehm, überall Wurfklassen zu haben, aber nicht immer zwischen HTML und CSS wechseln zu müssen, fühlt sich ziemlich produktiv an.
Ich bin immer noch auf BEM fixiert. Es ist ausführlich, aber der Namespace macht das Arbeiten damit in React-Komponenten sehr natürlich. Es eignet sich auch hervorragend zum Auswählen bestimmter Elemente beim Testen des Browsers.
OOCSS und BEM sind nur einige der CSS-Standards. Wählen Sie eine aus, die für Sie funktioniert - sie sind alle voller Kompromisse, weil CSS einfach nicht so gut ist .
Update 2020
Ein langweiliges Update in diesem Jahr. Ich benutze immer noch BEM. Meine Position hat sich aus den oben genannten Gründen seit dem Update 2019 nicht wirklich geändert. Verwenden Sie das, was für Sie funktioniert, das mit Ihrer Teamgröße skaliert und so viel oder so wenig von CSS 'schlechtem Funktionsumfang verbirgt, wie Sie möchten.