Pri izradi web sajta, jedna od prvih odluka koju donosimo je odluka koje ćemo fontove koristiti za tekstove, naslove, podnaslove, menije, linkove i tako dalje. Ima puno svojstava koji se mogu definisati za font, ali ovde ćemo se zadržati samo na vrsti fonta.
Sigurno znate da se različiti fontovi ne razlikuju samo po izgledu, već se razlikuju po veličini, prostoru koji zauzimaju, neki fontovi su isključivo velika slova ili samo mala slova, neki fontovi ne podržavaju naša slova sa kvačicama i tako dalje. Naš cilj je da svi posetioci web sajta napisane tekstove vide isto.
Do pojave CSS3, browser korisnika mogao je da koristi isključivo fontove koje korisnik ima instalirane na svom računaru, bez obzira koji mi font definišemo. Zato se pribegavalo definiciji fontova koje najverovatnije imaju svi korisnici. Za svaki slučaj, definisalo se i više srodnih fontova. Kôd za definisanje fontova izgleda ovako:
Sintaksa:
body {
font-family:Arial, Helvetica, sans-serif;
}
U ovom primeru definisana je vrsta fonta za element <body>, odnosno za ceo web sajt. Sada browser korisnika na njegovom računaru traži instaliran prvi font koji smo naveli, a to je Arial. Ako ga ne pronađe, traži sledeći i tako do poslednjeg. Ukoliko ne pronađe nijedan, prikazaće korisniku font koji definisan u samom browseru. Kako bi izbegli probleme koji mogu nastati u slučaju da korisnikov računar nema instaliran font koji mi želimo, web dizajneri su se odlučivali da upotrebljavaju samo fontove koji su se dobijali zajedno sa instalacijom Windowsa.
S obzirom da na internetu postoji nebrojeno mnogo fontova, ovo ograničenje je postalo značajan problem.
Pojavom CSS3 postalo je moguće koristiti bilo koji font, bez obzira na to da li posetilac web sajta ima taj font instaliran na svom računaru. U CSS3 je potrebno "reći" browseru gde se nalazi font koji želimo upotrebiti i naložiti mu gde i kako da ga upotrebi. Ovo možemo uraditi na dva načina.
Prvi je da "skinemo" font koji želimo sa interneta, smestimo među fajlove web sajta i definišemo njegovu upotrebu, dok je drugi način da koristimo fontove koje je Google već pripremio.
Mnogi web sajtovi nude besplatan download velikog broja fontova, a takođe nude i preuzimanje CSS-a za korišćenje fontova. Uzmimo na primer da želimo da upotrebimo font koji se zove HARD ROCK.
<link rel="stylesheet" type="text/css" href="font/stylesheet.css" />
Sintaksa:
p {
font-family:"HARD ROCK";
}
@font-face {
font-family:"HARD ROCK";
src:url("HARD_ROCK.eot?") format("eot"),
url("HARD_ROCK.woff") format("woff"),
url("HARD_ROCK.ttf") format("truetype"),
url("HARD_ROCK.svg#HARDROCK") format("svg");
}
U ovom konkretnom slučaju dobili smo na gotov font sa svim ekstenzijama i gotovim CSS-om. Najčešća ekstenzija fontova je .ttf (TTF je skraćenica od True Tipe File, odnosno naziv standardnog formata za fontove). Najčešće ćemo na imternetu pronaći fontove sa samo ovom ekstenzijom. Međutim, starije verzije nekih browsera ne podržavaju ovu ekstenziju. Tako na primer IE9 i stariji podržavaju ekstenziju .eot. Zato u CSS-u gde smo definisali @font-face moramo povezati sve ekstenzije fontova koje smo preuzeli.
U desnom bloku (gde je @font-face) prikazan je sadržaj fajla styleshit.css. Naravno da ne moramo ovo imati u posebnom CSS fajlu. Možemo ovih nekoliko redova kôda ubaciti i u naš glavni CSS. Time postaje višak pozivanje CSS-a navedenog gore (<link rel=...) , jer se podrazumeva da smo naš glavni CSS već povezali sa stranicama web sajta.
Pogledajte i ekspeimentišite malo sa kodovima u donja dva editora koji su dati kao primer. Oba editora imaju identične definicije fonta, s tom razlikom što u gornjem editoru nismo definisali gde će browser da nađe font "HARD ROCK". Pošto ga browser nije pronašao na računaru, koristi i prikazuje tekst u sledeće definisanom fontu, a to je u konkretnom slučaju Arial.
U donjem editoru smo "pokazali" browseru gde je ovaj font i on ga prikazuje baš onako kako treba. Ovo je sve sa pretpostavkom da Vi na svom računaru nemate instaliran ovaj font. Ako ga neki zagriženi roker ipak ima instaliranog, on će u oba editora imati isti rezultat prikaza.
CSS i HTML Rezultat
CSS i HTML Rezultat
Drugi način korišćenja @font-face definicija sa Google-a je nešto jednostavniji jer je Google sve već pripremio. Prednost ovog drugog načina je u jednostavnijem korišćenju, a nedostatak je (neznatno) sporije učitavaje i svakako manji broj fontova koje je Google unapred pripremio.
Ukoliko se odlučimo za ovaj način korišćenja @font-face definicija postupićemo na sledeći način:
CSS i HTML Rezultat