Hemsida » UI / UX » En guide till bättre och skarpare UI-ikoner med webbfonter

    En guide till bättre och skarpare UI-ikoner med webbfonter

    Om du är bekant med att använda bitmappsformat (som PNG och GIF) för att visa ikoner på en webbplats, skulle du också vara bekant med sina brister. Först och främst, beroende på dimensionen och hur mycket färginformation som ikonen har, kan en ikonfilstorlek vara mycket stor.

    Om vi ​​har för många ikoner för att lägga in en webbplats, kommer det också att kunna sakta ner webbplatsens prestanda, eftersom många HTTP-förfrågningar måste utföras av webbläsaren. Även om det här problemet kan lösas med CSS-sprite, är filstorleken fortfarande stor.

    Bitmap-ikonen har också brister i flexibilitet och skalbarhet; låt oss säga att vi måste förstora eller zooma ikonen till en viss nivå, eller se den genom en mycket hög skärmupplösning, till exempel på näthinnans display. ikonen kommer definitivt visa sig suddig.

    Tja, om du tar några av dem som är viktiga med hänsyn till det, måste du förmodligen använda ikonfonter.

    Använda ikonfonter

    En ikon typsnitt är en uppsättning ikoner packade i ett webbfont som senare kan inbäddas på en webbplats med @ Font-face. Som Chris på CSS-trick har påpekat, det finns många fördelar med att använda teckensnitt över bild för att leverera ikoner;

    • Teckensnitt är ett vektorbaserat objekt som enligt sin natur är upplösningsoberoende, så ikonen kommer att förbli så skarp i olika skärmupplösningar, inklusive mycket höga skärmupplösningar (som näthinnivå).
    • Det är också skalbar, vilket gör att det kan förstoras på många nivåer utan att förlora kvalitet och precision.
    • Eftersom ikonen är i princip en typsnitt, Vi kan också styra färgen, genomskinligheten, textskuggan och även ändra storlek på det genom stilarket
    • Vi kan också animera ikonen med CSS3.
    • Ikonen heter med @ Font-face regel som har fått stöd från så tidigt som Internet Explorer 4 (med .eot).
    • Mindre HTTP-förfrågan och lägre filstorlek.

    Här är några av de bästa fria ikonerna som vi kan hitta:

    • Typsnitt Awesome
    • IcoMoon
    • Sociala medier ikoner
    • Zurb Foundation-ikoner

    Se till att du har kontrollerat och följt licensen innan du lagt in den på din webbplats för att hedra författarens tid och hårt arbete.

    @ font-face-regeln

    Som vi nämnde är ikonerna inbäddade med @ Font-face styra genom stilarket som definierar nytt typsnittsfamilj. I följande exempel använder vi webbsymbolerna;

     @ font-face font-family: 'WebSymbolsRegular'; src: url ('typsnitt / webbsymboler-vanlig-webfont.eot'); src: url ('fonts / websymbols-regular-webfont.eot? #iefix') format ('embedded-opentype'), url ('fonts / websymbols-regular-webfont.woff') format format ("typsnitt / webbsymboler-regular-webfont.ttf") format ("truetype"), url ('fonts / websymbols-regular-webfont.svg # WebSymbolsRegular') format ('svg');  

    Sedan, i HTML-dokumentet behöver vi bara lägga till de tecken som representerar ikonen, och snarare än att tillämpa det nya typsnittsfamilj allmänt i dokumentet kan vi göra mer specifikt genom att lägga till en extra klass till vissa element som ikonen behöver återges till, som så;

     
    • h
    • jag
    • j
    • en
    • jag

    Tillbaka till stilarket definierar vi det nya typsnittsfamilj för den klassen som vi just har lagt till:

     .ikon-font font-family: WebSymbolsRegular; typsnittstorlek: 12pt;  
    • Demo @ font-face

    Använda Pseudo-element

    Om ikonen behandlas som sidelement kan vi även leverera ikonen genom pseudo-elementet. Om vi ​​antar att vår HTML-uppställning är som följer:

     
    • Svar
    • Svara alla
    • Framåt
    • Bilaga
    • Bild

    Vi kan göra det här på stilarken:

     ul.icon-font.pseudo li: före font-family: WebSymbolsRegular; marginal-höger: 5px;  ul.icon-font.pseudo li: nth-child (1): före innehåll: "h";  ul.icon-font.pseudo li: nth-child (2): före innehåll: "jag";  ul.icon-font.pseudo li: nth-child (3): före innehåll: "j";  ul.icon-font.pseudo li: nth-child (4): före innehåll: "A";  ul.icon-font.pseudo li: nth-child (5): före innehåll: "I";  
    • Demo Pseudo-element

    Privat användning Unicode

    Det finns en omständighet där ikonerna inte var inbäddade i bokstäverna (A, B, C, D osv.), Men inbäddades i Unicode Private Use för att minimera konflikter mellan tecknen. Liksom i FontAwesome har författaren lyckligtvis lagt till alla teckenkod i stilarket, vilket ser ut så här;

     .ikonglas: före innehåll: "\ f0c6";  

    Men när vi behöver bädda in ikonen direkt i HTML, något som följande kod \ f0c6 kommer inte att göra den spetsiga ikonen, eftersom det inte är ett giltigt tecken som kodas i HTML.

    HTML behöver en numerisk referensmarkering att göra specialtecken. Vi har behandlat det lite i vår tidigare handledning om CSS3 Knappar; denna karaktär är prefixad med en kombination av ett ampersand-tecken (&), ett hash-tecken (#) och en x följt av det hexadecimala talet som representerar karaktären.

    Till exempel, f0c6 är ett hexadecimalt tal, så numerisk teckenreferens i HTML kommer att vara & # Xf0c6;, i FontAwesome den koden kommer att visa ikon för pappersklipp, såhär;

    • Demo Unicode

    Teckensnitt Subsetting

    Ikonerna i samlingen kanske inte alla behövs. I det fallet kan vi släppa de oanvända tecknen genom att sätta in det teckensnitt som ska också resultera i lägre fontfilstorlekar. Lyckligtvis finns det ett praktiskt verktyg från FontSquirrel för att enkelt göra detta jobb, @ font-face generator.

    När du har gått till den sidan och lagt till teckensnittet väljer du Expert. Du kommer att se några fler alternativ; Välj Anpassad Subsetting.

    I det här exemplet använder vi Sociolico-teckensnittet för att visa sociala medierikoner på vår hemsida, men ikonerna som vi behöver är endast Dribble, Facebook och Twitter, vilka respektive representeras av dessa tecken; d, f och t. Så sätt dessa tecken i fältet Singeltecken som följer:

    Och vi är klara. Nu kan vi ladda ner teckensnittet och i mitt fall har teckensnittstormen visat sig vara endast 3Kb till 5Kb. Kom också ihåg att de enda tecknen som kommer att återges till en ikon är bara d, f och t, medan de andra tecknen kommer att göra att det bara är en vanlig bokstav.

    Slutlig tanke

    En sak som vi inte kan göra på denna övning är att lägga till mycket detaljerade effekter som detta på ikonen.

    Om vår övergripande design inte kräver detaljer på den nivån kan det här sättet vara ett bättre sätt att betjäna ikoner på webbplatser. Den har flexibilitet, skalbarhet, är näthinnan klar med en mycket liten filstorlek, vad mer kan vi begära?

    Slutligen, om du vill dyka djupare in i detta ämne, nedan har vi sammanställt några användbara referenser, liksom vår demo och källkod för nedladdning.

    • Så här skapar du din egen ikon Webfont - WebDesignerDepot.com
    • Visar teckensnitt och data attribut - 24Ways
    • Privat användning Unicode - Wikipedia
    • demo
    • Hämta källa