2011-09-26 8 views
24

Recentemente sono stato l'aggiornamento di un sito CMS e un plugin scheda di navigazione aveva inserito il seguente markup:I selettori CSS sono sensibili al maiuscolo/minuscolo?

<li id="News_tab">... 

Ho sempre scritto i miei selettori CSS in minuscolo così quando ho provato per lo stile con questo #news_tab, si wouldn 'applicare, ma #News_tab ha funzionato.

Dopo tutti questi anni sono sorpreso di non essermi imbattuto in questo prima, quindi ho sempre avuto l'impressione che la CSS fosse insensibile alle maiuscole e minuscole. I CSS sono sempre stati case sensitive e io non li ho notati grazie al mio coerente stile di codice?

+0

non utilizzare i tappi per iniziare gli attributi di classe o ID. personalmente, non li uso affatto, tranne che per le classi JS del rivestimento del cammello. – albert

+0

@albert Sì, non userei mai i cappucci ... è stato generato da un plugin, non dal mio stile. –

+0

Assicurati di usare un DOCTYPE o potresti ottenere un comportamento strano !!! –

risposta

2

http://www.w3.org/TR/CSS2/syndata.html

Tutti sintassi CSS è compreso nell'intervallo ASCII (cioè, [az] e [AZ] sono equivalenti), fatta eccezione per le parti che non sono sotto il controllo di CSS-insensitive caso

Dal sito Web dei documenti.


follow-up per selettori:

http://www.w3.org/TR/CSS2/selector.html

Il caso-sensibilità di nomi degli elementi linguistici documento selettori dipende dal linguaggio del documento. Ad esempio, in HTML, i nomi degli elementi sono case-insensitive, ma in XML sono case-sensitive.

+0

Come accennato, il CSS non fa distinzione tra maiuscole e minuscole, ma HTML impone restrizioni. –

6

attributi class e id sono case sensitive:

http://reference.sitepoint.com/css/casesensitivity

+3

Mi piace questa linea: * Il modo più semplice per mitigare eventuali problemi relativi alla distinzione tra maiuscole e minuscole consiste nell'utilizzare sempre le lettere minuscole per tutto il codice e CSS. * – animuson

+0

Il collegamento probabilmente non va più alla destinazione prevista ... –

8

CSS4 (CSS Selector Level 4) aggiunge il supporto per la corrispondenza senza distinzione tra maiuscole e minuscole (solo ASCII).

input[value='search' i]

E 'la "i" finale, che avrebbe fatto il trucco ...

leggi la mia other answer per dettagli che browser supporta questo.

Problemi correlati