Ieri ho scaricato la release beta di Opera 9.50 ed ho creato una pagina di test su tutti i selettori CSS3. I risultati sono i seguenti: Opera ora supporta tutti i selettori CSS3 ad eccezione dello pseudo-elemento ::selection (supportato da Safari 3 beta). Questo significa che vengono supportate anche le pseudo-classi strutturali come nth-child() e derivate. Inoltre Opera ora supporta il selettore :root, il che significa che il famoso filtro con cui si selezionavano i browser Gecko e Safari non funziona più, o meglio seleziona anche Opera invece di escluderla.
Alcune conseguenze:

1. è ora possibile indirizzare i selettori senza dover usare classi o concatenazioni di selettori
adiacenti. per esempio, dato un elemento p con all'interno tre elementi span, per selezionare il secondo scriverò:

codice:
p > span:nth-child(2) {color: red}

2. è ora possibile selezionare anche l'ultimo figlio di un elemento. dato l'esempio precedente, avremo:

codice:
p > span:last-child {color: red}
3. è ora possibile ragionare escludendo elementi, usando in tal caso la pseudo-classe di negazione :not(s), dove s è un selettore semplice. alcuni esempi:

codice:
p > *:not(span) {color: red}
p:not([class]) {color: blue}
il secondo esempio ci permette di selezionare un elemento p che **non** abbia una classe.

Per ulteriori informazioni sui selettori CSS3 consultate la traduzione che trovate sul sito
di Michele Diodati: http://www.diodati.org/w3c/css3-wd/selettori.html