2010-08-23 13 views

risposta

24

I due punti sono consentiti negli attributi ID, ma non hanno alcun significato speciale. Non è davvero consigliabile usarli perché a volte possono causare problemi, come quando vengono usati con jQuery o CSS, dove i due punti hanno un significato speciale come pseudo-selettore.

+0

quindi vuoi dire che questo non sarà consigliabile anche per i CSS? – Ryan

+0

Esatto, perché nei CSS i due punti sono usati per gli pseudo-selettori, come '# div.button: hover' –

+14

Sono d'accordo con cxfx, ma se c'è molto bisogno di usare i due punti, puoi sfuggire a css come '# t1 \: c3 {rules;}' – Sotiris

1

In aggiunta a quanto sopra ho scoperto che Omniture utilizza i due punti per definire le classi correlate al layout.

3

Se il codice HTML viene generato con Java ServerFaces questo genere produce tali ID, cioè se il modulo ha l'ID form1 e l'elemento ha l'ID firstName questo si traduce in un ID form1:firstName se l'elemento è a livello alto , se ce ne sono diversi creati in un loop, assomigliano a form1:1:firstName, form1:2:firstName, ...

Questo comportamento del framework non può essere modificato.

+0

Per JSF, vedere qui: https://stackoverflow.com/a/7928290/1599699 L'ID esatto deve essere utilizzato, quindi ad es. se metti 'id =" blah "' nel tuo codice, ma quell'elemento è all'interno di un '', beh, form è un elemento 'NamingContainer' e quindi l'ID effettivo sarà' forma: blah' nell'output grezzo HTML. Quindi, dovrai specificare 'form: blah' nel tuo stile CSS personalizzato. – Andrew

+0

Si noti inoltre che quando si usano i due punti nello stile CSS, è necessario usare '\:' invece di ':' per IE 8 - IE 11 o '\ 3A' invece di': 'per IE 6 - IE 7 (o per qualsiasi versione). Vedi qui: https://stackoverflow.com/questions/122238/handling-a-colon-in-an-element-id-in-a-css-selector#comment80053896_122266 – Andrew