Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
HTML5 introduce una serie di nuovi tag per attribuire un significato semantico alle diverse parti che costituiscono la pagina: header, nav, footer, article, section, figure, ecc. Se i browser moderni supportano nativamente questi elementi, i browser pi datati !come le versioni di "nternet #$plorer precedenti la %& semplicemente ignorano la presen'a di questi tag, rendendo ad esempio impossibile applicare uno stile specifico mediante (SS. )er risolvere questo problema di compatibilit* possiamo utili''are un mar+up ibrido, ovvero che preveda un ,wrap, tramite elementi noti !tipicamente un div& dei nuovi tag:
<!DOCTYPE html> <html> <head> <style> header, div.header { backgro !d" red# $ <%style> <%head> <body> <header> <div class&'header'> <h(>Titolo<%h(> <%div> <%header> <%body> <%html>
-ppure:
<!DOCTYPE html> <html> <head> <style> header, div.header { backgro !d" red# $ <%style> <%head> <body> <div class&'header'> <header> <h(>Titolo<%h(> <%header> <%div>
<%body> <%html>
Sen'a intervenire sul mar+up possiamo consentire a "# di ,riconoscere, i nuovi elementi usando .avascript. Tramite una tecnica nota ,HTML5 Shiv, !o ,HTML5 Shim,& / infatti sufficiente creare un tag tramite la fun'ione document.createElement affinch0 possa essere riconosciuto da "#12:
<!DOCTYPE html> <html> <head> <style> header { backgro !d" red# $ <%style> <scri)t> doc me!t.createEleme!t*'header'+# <%scri)t> <%head> <body> <header> <h(>Titolo<%h(> <%header> <%body> <%html>
<style> table tr"!th,child*odd+ { backgro !d" a- re# $ table tr"!th,child*eve!+ { backgro !d" lightgray# $ <%style>
<table> <tr><td>.iga ! mero (<%td><%tr> <tr><td>.iga ! mero /<%td><%tr> <tr><td>.iga ! mero 0<%td><%tr> <tr><td>.iga ! mero 1<%td><%tr> <tr><td>.iga ! mero 2<%td><%tr> <tr><td>.iga ! mero 3<%td><%tr> <%table>
0 possibile utilizzare espressioni pi1 complesse con an+b per ottenere tutti i nodi che abbiano an+b-1fratelli che li precedono nella gerarchia "per n maggiore o uguale a zero#$ Di seguito alcuni esempi per chiarire meglio un concetto che a prima ista pu2 sembrare complesso3 al selettore :nth-child(1) corrisponde il primo nodo "equi ale di fatto alla pseudo&classe :firstchild4 al selettore :nth-child(3n) corrispondono il terzo, il sesto, il nono, ecc$ nodo4 even equi ale pertanto all'espressione 2n al selettore :nth-child(10n+9) corrispondono il nono, il dicianno esimo, il entino esimo, ecc$ nodo4 pu2 anche essere espresso come :nth-child(10n-1)4 odd equi ale pertanto all'espressione 2n-1 I selettori di CSS3 sono utilizzati, oltre che nei fogli di stile, anche per l'accesso agli elementi del DOM ia 5a aScript attra erso le nuo e Selectors $%& di 67M%+ o con frame8or! come '(uer)$
<li><a hre4&'%)rod cts%'>Prodotti<%a><%li> <li><a hre4&'%services%'>6ervi-i<%a><%li> <li><a hre4&'%com)a!y%'>6ociet7<%a><%li> <% l> <%!av>
%'elemento nav pu2 essere usato, oltre che per la na igazione principale del sito, anche per la creazione dell'indice dei contenuti di una pagina, per i collegamenti di paginazione "a anti, indietro, ecc$# e per il mar!up delle :briciole di pane: "breadcrumbs na igation#$ %a specifica ( disponibile all'indirizzo http3;;de $83$org;html+;spec;O er ie8$html<the&na &element