Non ce n'è uno.
Uso sempre i trattini bassi, a causa dei trattini che incasinano l'evidenziazione della sintassi del mio editor di testo (Gedit), ma questa è una preferenza personale.
Ho visto tutte queste convenzioni usate ovunque. Usa quello che ritieni sia il migliore - quello che sembra più bello / più facile da leggere per te, così come il più facile da scrivere perché lo userai molto. Ad esempio, se hai il tasto di sottolineatura sul lato inferiore della tastiera (improbabile, ma del tutto possibile), segui i trattini. Basta andare con ciò che è meglio per te. Inoltre, tutte e 3 queste convenzioni sono facilmente leggibili. Se lavori in gruppo, ricordati di seguire la convenzione specificata dal team (se presente).
Aggiornamento 2012
Ho cambiato il modo di programmare nel tempo. Ora uso camel case ( thisIsASelector
) anziché trattini ora; Trovo quest'ultimo piuttosto brutto. Usa quello che preferisci, che può facilmente cambiare nel tempo.
Aggiornamento 2013
Sembra che mi piaccia mescolare le cose ogni anno ... Dopo essere passato a Sublime Text e aver usato Bootstrap per un po ', sono tornato ai trattini. Per me ora sembrano molto più puliti di un_der_scores o camelCase. Il mio punto originale è ancora valido: non esiste uno standard.
Aggiornamento 2015
Un caso interessante d'angolo con le convenzioni qui è Rust . Mi piace molto la lingua, ma il compilatore ti avviserà se definisci cose usando qualcosa di diverso underscore_case
. Puoi disattivare l'avviso, ma è interessante che il compilatore suggerisca fortemente una convenzione di default. Immagino che in progetti più grandi porti a un codice più pulito, il che non è male.
Aggiornamento 2016 ( hai richiesto)
Ho adottato lo standard BEM per i miei progetti in futuro. I nomi delle classi finiscono per essere piuttosto dettagliati, ma penso che dia una buona struttura e riusabilità alle classi e ai CSS che li accompagnano. Suppongo che BEM sia in realtà uno standard (quindi il mio no
diventa yes
forse) ma dipende ancora da te cosa decidi di utilizzare in un progetto. Ancora più importante: essere coerenti con ciò che si sceglie.
Aggiornamento 2019 ( hai richiesto)
Dopo aver scritto CSS per un po ', ho iniziato a lavorare in un posto che utilizza OOCSS in uno dei loro prodotti. Personalmente trovo piuttosto spiacevole sparpagliare le classi ovunque, ma non dover saltare continuamente tra HTML e CSS è abbastanza produttivo.
Sono comunque deciso a BEM. È dettagliato, ma lo spazio dei nomi rende molto naturale lavorare con esso nei componenti di React. È anche ottimo per selezionare elementi specifici durante i test del browser.
OOCSS e BEM sono solo alcuni degli standard CSS disponibili. Scegli quello che funziona per te: sono tutti pieni di compromessi perché CSS non è poi così buono .
Aggiornamento 2020
Un aggiornamento noioso quest'anno. Sto ancora usando BEM. La mia posizione non è davvero cambiata dall'aggiornamento del 2019 per i motivi sopra elencati. Usa ciò che funziona per te che si adatta alle dimensioni del tuo team e nasconde quanto meno o meno delle scarse funzionalità CSS che desideri.