Questa pseudo-classe seleziona il primo elemento E che è il primo figlio del suo tipo. Concettualmente essa coincide all'uso di :nth-of-type(1).
Dato il codice utilizzato negli esempi precedenti, la seguente riga:
div p:first-of-type { background-color: yellow; }
selezionerà solo il primo paragrafo.
La pseudo-classe seleziona il primo elemento E che è l'ultimo figlio del suo tipo. Concettualmente essa coincide all'uso di :nth-last-of-type(1).
Dato il codice utilizzato negli esempi precedenti, la seguente riga:
div p:last-of-type { background-color: yellow; }
selezionerà solo l'ultimo paragrafo.
Il funzionamento è del tutto simile a E:only-child con la sola differenza che l'oggetto padre può contenere altri figli, purchè di diverso tipo.
Quindi, dato un codice come il seguente:
<div>
<p>Lorem ipsum dolor sit amet.</p>
<ul><li>List item 1</li><li>List item 2 </li></ul>
</div>
<div>
<p>Lorem ipsum dolor sit amet.</p>
<p>Lorem ipsum dolor sit amet.</p>
<ul><li>List item 1</li><li>List item 2 </li></ul>
<div>
e questo codice CSS:
div p:only-of-type { background: yellow; }
verrà selezionato solo il primo paragrafo del primo contenitore perché, nel secondo contenitore, sono presenti due paragrafi e non solo uno.
Questa pseudo-classe identifica ogni elemento E che non contiene figli. E:empty include anche i nodi di testo quindi, un semplice paragrafo che contiene del testo al suo interno non corrisponderà.
Data la regola CSS:
p:empty { background-color: yellow; }
dei seguenti paragrafi, solo il primo corrisponderà:
<p></p> <p><span></span></p> <p>Lorem ipsum</p>
Nella seguente tabella ho raccolto la compatibilità di ogni pseudo-classe con i browser.
Figura 1 - Supporto delle pseudo-classi strutturali nei browser
Dato che il supporto da parte di Internet Explorer è pressoché nullo per ogni versione ho inserito un'unica voce IE che le comprende tutte. Le cose però cambieranno nel momento in cui uscirà IE9: Microsoft ha infatti annunciato che le pseudo-classi strutturali saranno supportate sulla prossima versione del suo browser. Notiamo poi che le ultime versioni di Firefox, Chrome e Opera supportano tutte le pseudo-classi anche se alcuni browser ancora fanno qualche errore nell'interpretazione. Fino alla versione 3 di Firefox, invece, alcune pseudo-classi non sono supportate.
Tutti gli esempi visti nell'articolo sono disponibili per il download.
Responsive Desing, la guidaProgettare siti da fruire su dispositivi diversi è imprescindibile... |
Guida CSS3Scoprire e usare al meglio tutte le novità dell'ultima versione dei... |
Guida CSS Tecniche essenzialiTesto, immagini, layout, form, liste, tabelle: soluzioni pronte per... |
Ogni mercoledì, direttamente nella tua e-mail: guide, articoli, tutorial, FAQ e approfondimenti tecnici su CSS e Web Design.
Iscriviti alla newsletter
|
|
Corso Webmaster base18 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base25 Giugno 2012 a Milano |
|
|
Corso Google AdWords Base05 Giugno 2012 a Roma |
|
|
Corso Webmaster base11 Giugno 2012 a Roma |