Caratteri icona: come funzionano?


89

Capisco che i caratteri delle icone sono solo caratteri e che puoi ottenere le icone semplicemente chiamando il loro nome di classe, ma come funzionano i caratteri delle icone?

Ho provato a controllare le risorse dei caratteri delle icone correlate caricate in Chrome per vedere come i caratteri delle icone visualizzano le icone (rispetto ai caratteri generali) ma non sono stato in grado di capire come ciò avvenga.

Inoltre, non sono riuscito a trovare risorse su come viene eseguita questa "tecnica dei caratteri delle icone", anche se sono disponibili molti caratteri delle icone . Ci sono anche un sacco di risorse che mostrano come integrare i caratteri delle icone , ma nessuno sembra condividere o scrivere su come farlo!

Risposte:


53

I glifici sono immagini e non un carattere. Tutte le icone si trovano all'interno di un'immagine sprite (disponibile anche come immagini singole) e vengono aggiunte agli elementi come posizionate backround-image:

Glyphicons

Actual icone di font ( FontAwesome , per esempio) non comporta il download di un font specifico e fare uso della contentproprietà, per esempio:

@font-face {
    ...
    src: url('../font/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'),
         url('../font/fontawesome-webfont.woff?v=3.0.1') format('woff'),
         url('../font/fontawesome-webfont.ttf?v=3.0.1') format('truetype');
    ...
}

.icon-beer:before {
    content: "\f0fc";
}

Poiché la contentproprietà non è supportata nei browser meno recenti, anche questi fanno uso di immagini .

Ecco un esempio di FontAwesome completamente grezzo in uso come carattere, trasformando ( - potresti non essere in grado di vederlo!) In un'ambulanza: http://jsfiddle.net/GWqcF/2


4
Le icone FontAwesome sono caratteri. Ho persino menzionato FontAwesome nella mia risposta e ho continuato a dire come gestiscono i browser che non supportano il loro metodo CSS per aggiungere le icone alla pagina.
James Donnelly

3
Le icone sono i caratteri del font. Ad esempio, la lettera "Z" potrebbe essere progettata per assomigliare a una valigia, salvata come carattere e quindi utilizzata su un sito web.
James Donnelly

1
Ecco un esempio di FontAwesome completamente grezzo in uso, che si trasforma in un'ambulanza: jsfiddle.net/GWqcF/2
James Donnelly

6
@VivekChandra sì, è vero! :-) I caratteri delle icone sono come qualsiasi altro carattere tranne per il fatto che i caratteri hanno uno stile simile a quello delle icone. FontAwesome utilizza un intervallo di caratteri riservato per "uso privato" .
James Donnelly

1
Eccezionale. Grazie per tutte le risorse, le esamineremo, ora le cose sono più chiare.
Vivek Chandra

23

Se la tua domanda è come una classe CSS può inserire un carattere specifico (che verrà visualizzato come un'icona nel carattere speciale), dai un'occhiata alla fonte per FontAwesome :

.icon-glass:before { content: "\f000"; }
.icon-music:before { content: "\f001"; }
.icon-search:before { content: "\f002"; }
.icon-envelope:before { content: "\f003"; }
.icon-heart:before { content: "\f004"; }

Quindi una direttiva di contenuto CSS viene utilizzata per inserire il carattere (che proviene da una speciale area riservata di Unicode per uso privato che non rovina gli altri lettori).


2
Cosa significa la barra f?
CodyBugstein

5
Non ffa parte di esso, è solo il numero esadecimale 15. La barra rovesciata avvia la sequenza di escape per un punto di codice esadecimale. \f004in CSS è come in HTML.
Thilo

11

Come funzionano le icone dei caratteri web?

Le icone dei caratteri web funzionano utilizzando CSS per iniettare un glifo specifico nell'HTML utilizzando la proprietà del contenuto. Quindi utilizza @font-faceper caricare un dingbat webfont che modella il glifo iniettato. Il risultato è che quel glifo iniettato diventa l'icona desiderata.

Per iniziare, avrai bisogno di un file di font web con le icone che ti servono, definite per ASCIIcaratteri particolari (A, B, C, !, @, #, etc.)o nell'area di utilizzo privato del font Unicode, che sono spazi nel font che non saranno usati da caratteri specifici in un Carattere con codifica Unicode.

Per saperne di più, come creare un'icona webfont in Responsive Webfont Icons .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.