2010-11-03 21 views

risposta

5

No, non possono. Devono iniziare con una lettera. Alcuni browser potrebbero tuttavia supportarli erroneamente.

MODIFICA: è possibile iniziare con punti di escape unicode e specificare il codice per un numero.

EDIT # 2: Test case http://work.arounds.org/sandbox/66/run

+0

Ci può spiegare quali sono i punti di fuga Unicode? grazie! – HELP

+0

Puoi specificare i numeri usando i punti di codice esadecimale, '. \ 34' è il codice UTF-8 per il numero 4 per http://www.yoursiteisvalid.com/validnews/css-class-not-working-when-name -begins-with-numbers-1000.html/comment-page-1 –

7

No. They have to be SGML names. Essi "devono iniziare con una lettera ([A-Za-z]) e possono essere seguiti da qualsiasi numero di lettere, cifre ([0-9]), trattini (" - "), trattini bassi (" _ "), due punti (":") e punti ("")

However, class names that start with a number are supported by IE.

EDIT:.. Meder ha sottolineato che è possibile utilizzare caratteri Unicode e sembrano funzionare in tutti i browser non lo faccio sapere se è conforme alle specifiche, ma sembra convalidare Vedi http://css-tricks.com/unicode-class-names/ e http://snook.ca/archives/html_and_css/unicode_for_css_class_names

+0

La tua quotazione si riferisce ai token ID e NAME .Ma il valore dell'attributo class è CDATA. –

+0

@ Šime Vidas - Penso che la classe sia un elenco CDATA di NAME gettoni – Adam

2

da the CSS spec:.

"In CSS3, identificatori (inclusi i nomi di elementi, classi e gli ID in selettori (vedi [Select] [o è ancora vero])) possono contenere solo i caratteri [A-Za-z0-9 ] e ISO 10646 caratteri 161 e oltre, più il trattino (-) e il carattere di sottolineatura (_); non possono iniziare con una cifra o un trattino seguito da una cifra. Possono anche contenere caratteri di escape e qualsiasi carattere ISO 10646 come codice numerico (vedere l'articolo successivo ). Ad esempio, l'identificatore "B & W?" può essere scritto come "B \ & W \?" o "B \ 26 W \ 3F". (Vedi [UNICODE310] e [ISO10646].)"