2010-02-26 19 views
20

Quali sono le migliori pratiche quando si assegnano i selettori CSS?Utilizzo di lettere maiuscole, trattini o caratteri di sottolineatura durante la denominazione dei selettori CSS

SomeContainerContent 
some_container_content 
some-container-content 

Ho letto le altre domande simili qui su stack overflow, ma non c'è consenso generale nelle risposte. Mi stavo chiedendo se qualcun altro avesse altro da aggiungere.

+1

Non c'è alcun consenso, perché non importa. Chiamali come vuoi! – Shog9

risposta

28

Il pensiero generale è quello di utilizzare i trattini. Esistono, infatti, potenziali problemi di compatibilità con altre opzioni.

  • I caratteri di sottolineatura non sono consentiti nei nomi di classi o ID in determinati (concessi, vecchi, tipo NS4) browser.
  • Le specifiche CSS non specificano come i browser devono gestire il caso, quindi l'utilizzo di camelCase lascia aperta un'interpretazione ambigua.

Inoltre, i CSS utilizzano internamente i trattini per cose come first-child.

Anche se i problemi di compatibilità sono generalmente un problema nei browser moderni, è così che è nato lo standard e io consiglio di attenervisi. Staresti bene se dovessi deviare, ma perché preoccuparsi?

+2

Buoni punti. Inoltre, non posso usare i trattini nei nomi delle variabili e nei metodi di supporto nelle rotaie, il che aggiunge un altro indizio per distinguere le classi css se le tengo trattate. – deb

2

Penso davvero che dipende da voi. Tuttavia, ciò che è importante è essere coerenti. Ad esempio, mi piace usare caratteri di sottolineatura per ID e trattini per le classi.

+2

...che in realtà suona un po 'incoerente per me, dal momento che il mio cervello raggruppa i CSS come un'unica cosa. È quello di tenere separate le classi e gli ID, per quanto riguarda l'archiviazione mentale? – Matchu

0

Davvero non importa e si riduce al tuo gusto personale. Tuttavia, per un progetto dovrebbe essere coerente! Quindi, se è già presente un css, scegli lo stile impostato da questo stile.

0

Uso trattini (-) per tutto HTML/CSS e caratteri di sottolineatura per variabili PHP. Mantiene le cose organizzate per me.

0

Uso trattini. Probabilmente perché molte cose sul web sono case sensitive e ho l'abitudine di usare tutte le lettere minuscole per i nomi dei file e così già quando lavoro sul web. I caratteri di sottolineatura sono difficili da vedere quando sottolineati, quindi mi allontano anche da loro.

Sembra la maggior parte delle persone CamelCase però:

poll on what people use

+0

Questo è un link interessante, grazie per la condivisione. CamelCase è il più confusionario per me, dato che sono abituato a rubare nomi di classi in CamelCase. – deb

0

"Nei CSS, gli identificatori (compresi i nomi degli elementi, le classi e gli ID nei selettori) possono contenere solo i caratteri [a-zA-Z0-9] e ISO 10646 caratteri U + 00A1 e successivi, più il trattino (-) e il carattere di sottolineatura (_); non possono iniziare con una cifra o un trattino seguito da una cifra. Gli identificatori possono anche contenere caratteri di escape e qualsiasi carattere ISO 10646 come codice numerico (vedere l'elemento successivo). Ad esempio, l'identificatore " B & W? "Può essere scritto come" B \ & W \? "O" B \ 26 W \ 3F "."

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

risultati in:

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

Namespace e l'oggetto può essere facilmente purposed per una sorta di BEM attuazione.

.grid-slot { }   /* block */ 

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

._size-100    /* generic modifier */ 

mio $ 0.02

Problemi correlati