I Microformati rappresentano un eccellente tentativo di aggiungere semantica alle informazioni contenute in un documento web. Ciascuna informazione viene marcata in modo opportuno al fine di valorizzarne la semanticità e i contenuti. Tra i vari Microformati spiccano sicuramente le hCard, che sono un modo per strutturare le informazioni personali (indirizzo, città , telefono, email, URL ecc.) contenute nei siti web.
Una hCard può presentarsi così:
<div class="vcard"> <a class="fn org url" href="http://onwebdev.blogspot.com/">onwebdev</a> <div class="adr"> <span class="type">Work:</span> <span class="street-address">Some address</span> <span class="locality">A City</span>, <abbr class="region" title="Region">A Region</abbr> <span class="postal-code">000000</span> <span class="country-name">Italy</div> </div> <div class="tel"> <span class="type">Work</span> +39-00-00-00 </div> <div class="tel"> <span class="type">Fax</span> +39-00-00-00 </div> <div>Email: <span class="email">gabriele.romanato@gmail.com</span> </div> </div>
Gli attributi di ciascun elemento ne definiscono il ruolo semantico e il tipo di informazione veicolata. Come si può notare, stiamo trattando del normale codice HTML. I CSS si inseriscono in questo processo semplicemente formattando gli elementi:
.vcard { height: 100%; border-top: 3px solid #000; border-bottom: 2px solid gray; padding: 0.4em 0; } a.url { display: block; height: 100%; color: #339; font: 1.3em Georgia, serif; background: url(img/warning.png) no-repeat 0 0; padding-left: 19px; border-bottom: 1px solid gray; } .adr { width: 90%; margin: 10px auto; padding: 5px 5px 5px 19px; background: #eee url(img/name.png) no-repeat 0.3em 0.5em; border-left: 4px solid gray; border-right: 4px solid gray; } .adr span { font-style: italic; padding: 0 0.3em; } .adr span.type { display: block; height: 100%; font: normal 1.3em Georgia, serif; color: #666; border-bottom: 1px dashed; } .tel { height: 100%; margin-bottom: 10px; padding: 5px 0 5px 19px; border-bottom: 1px dashed gray; background: url(img/subject.png) no-repeat 0 0.5em; } .tel .type { font-weight: bold; } div.tel + div.tel + div { height: 100%; margin: 10px 0; padding: 5px 0 5px 19px; border-bottom: 1px dashed gray; background: url(img/email.png) no-repeat 0 0.4em; font-weight: bold; } div.tel + div.tel + div > .email {font-weight: normal;}
Come si può notare dall'esempio, abbiamo aggiunto degli stili molto semplici: bordi, padding, margini, colori e immagini di sfondo. Inoltre in alcuni casi abbiamo cambiato il ruolo di visualizzazione degli elementi usando la proprietà display
. Al momento i browser che stanno cercando di implementare i Microformati lo fanno attraverso alcuni plugin (come Firefox). Il supporto manca totalmente in tutte le versioni di Internet Explorer.
Da ricordare che i Microformati possono essere espressi anche con altri linguaggi di marcatura, come XML. In questo caso le applicazioni sono potenzialmente infinite: li si può usare nelle rubriche personali, nei preferiti, nella posta elettronica e in molti altri contesti.