CSS e Microformat
Mercoledì 30 Giugno 2010 - 08:20
di Gabriele Romanato


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.
Categoria: CSS, Web Standards | Permalink
Commenti
1
Sui Microformat si è fatto un bel po’ di lavoro. Però bisognerebbe rafforzare o mettere a punto degli standard-forti.
2
Io li ho messi quando erano stati segnalati proprio su EDIT, ma vengono usati? Si parlava che nei risultati google avrebbe preso dai microformats ma non mi sembra sia poi successo…
3
Ma esiste una documentazione sul nome di classe da usare per rendere compatibile questa procedura?
# - postato da Alessandro - 30 Giugno 2010 - 09:29
4
forse qui http://microformats.org/wiki/h.....card?
# - postato da zakwer - 30 Giugno 2010 - 10:37
5
Non li ho mai utilizzati ma, cercando altre info dopo aver letto questo post ho trovato hCard Creator (http://microformats.org/code/hcard/creator) che ci rende ancora più semplice strutturare le informazioni.
6
Al momento i browser leggono i Microformats come normale XHTML. Alcuni, come Firefox, dispongono di estensioni per leggere i Microformats ed estrarne le informazioni in modo semantico: Google search. :-)
# - postato da Gabriele Romanato - 01 Luglio 2010 - 16:45
7
# - postato da Gabriele Romanato - 01 Luglio 2010 - 17:10







