Nella precedente lezione abbiamo visto quali sono le famiglie di font ed abbiamo accennato ai font web-safe, ovvero quei set di caratteri visualizzabili su ogni sistema.
In questa lezione vedremo, invece, come visualizzare font non standard all’interno delle nostre pagine web garantendo la compatibilità su tutti i browser.
La proprietà di cui abbiamo bisogno è @font-face, una delle regole appartenenti alle @-rules. Con questa proprietà è possibile, infatti, caricare all’interno delle pagine web font non standard salvati fisicamente all’interno della directory del sito web. Questo ci consente, quindi, di visualizzare correttamente il font su tutti i browser anche quando esso non è installato all’interno del PC dell’utente.
Prima di vedere insieme come integrare font personalizzati nelle nostre pagine, bisogna fare una precisazione sul formato di font accettato dai vari browser. Tale precisazione è d’obbligo perché, come di consueto, Internet Explorer non supporta il formato classico TTF.
La tabella di Figura 1 contiene le tipologie di caratteri e i browser che supportano il formato.
Figura 1 - Supporto dei browser
Come abbiamo visto dalla tabella, Internet Explorer, nonostante sia stato il primo browser a supportare i font personalizzati, non fornisce supporto ai TrueType ma solo ai file Embedded OpenType.
Per rendere del tutto cross-browser le nostre pagine web, abbiamo quindi bisogno di due file: un file True Type (.ttf) e un file Embedded OpenType (.eot). Il problema è che quando scarichiamo un font ci viene fornito solo il file .ttf (o Open Type) ma non il file .eot. Per ovviare a questo problema dobbiamo convertire i file .ttf in .eot. Online è disponibile una semplicissima applicazione, ttf2eot, che attraverso il terminale ci consente di effettuare in soli due passi la conversione.
Il funzionamento della regola è molto semplice. Nella sua forma base necessita di due parametri:
La forma base della regola, quindi, è la seguente:
@font-face {
font-family: 'font_name';
src: url('font_name.ttf') format('truetype');;
}
Bisogna però modificare questa forma per renderla compatibile con Internet Explorer e per evitare il caricamento del font nel caso fosse già presente sul PC dell’utente.
Grazie alla caratteristica a cascata del CSS possiamo includere le proprietà all’interno della stessa regola evitando fogli di stile aggiuntivi.
La proprietà per Internet Explorer è del tutto simile alla precedente con solo l’estensione del carattere differente:
src: url(font_name.eot);
Per consentire il caricamento del font dal pc stesso nel caso fosse installato bisogna modificare la proprietà src della regola iniziale nel seguente modo:
src: local('font_name'), url('font_name.ttf') format('truetype');
Utilizzare la direttiva local con all’interno il nome del carattere consente al browser di cercare all’interno del PC il font prima di scaricarlo dal server.
Il codice finale, compatibile con tutti i browser, è il seguente:
@font-face {
font-family: 'font_name';
src: url(font_name.eot);
src: local('font_name'), url('font_name.ttf') format('truetype');
}
Le due regole src, inserite in questo ordine, evitano inutili richieste HTTP ad Internet Explorer. Se avessimo invertito le regole, infatti, IE avrebbe caricato inutilmente il file .ttf per poi caricare l’unico file di cui effettivamente necessita, l’eot.
Una volta definito il font con la proprietà @font-face, è sufficiente richiamarlo all’interno delle normali regole CSS per farlo funzionare correttamente. Un semplice esempio di utilizzo potrebbe essere il seguente:
body{
font-family: font_name, Verdana, sans-serif;
font-size: 12px;
}
È possibile vedere l’esempio completo su questa pagina.
Liste ordinate, formattare i numeri con i CSSFormattare attraverso i CSS i numeri di una lista ordinata 'ol' per... |
Page curl, usi creativi della proprietà box-shadowCome ottenere effetti di ombreggiatura senza utilizzare immagini |
CSS cross-browser per i form con FormalizeCreare form che appaiano allo stesso modo su tutti i browser non è... |
Il posizionamento del contenuto generato da CSSIntrodurre le forme, come i triangoli, e posizionarle per abbellire... |
CSS3 Border-radius e Box-shadow su Internet Explorer con CSS3PIEUtilizzare CSS3PIE per implementare importanti proprietà CSS3 anche... |
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... |
Guida Interfacce web con PhotoshopQuesta guida mostra con semplici esempi come lavorare ad un layout e... |
Ogni mercoledì, direttamente nella tua e-mail: guide, articoli, tutorial, FAQ e approfondimenti tecnici su CSS e Web Design.
Iscriviti alla newsletter
|
|
Corso Google AdWords Base27 Febbraio 2012 a Milano |
|
|
Corso Webmaster base12 Marzo 2012 a Milano |
|
|
Corso Webmaster base19 Marzo 2012 a Roma |
|
|
Corso Google AdWords Base28 Marzo 2012 a Roma |