A betűtípusok megszokott definiálása kb. így néz ki:
body {
font-family: Arial, Helvetica, sans-serif;
}Ebben az esetben az body elemhez az Arial betűtípus van hozzárendelve. Ha ez nem áll rendelkezésre a néző rendszerén, akkor a Helvetica-ra tér vissza. Ha a Helvetica sem elérhető, akkor a böngészőnek utasítást adunk arra, hogy legalább egy seriffel nem rendelkező betűtípust használjon. Ezzel természetesen nincs igazi ellenőrzés. Tehát végül is nincs teljes kontroll a végeredmény felett. Amit szépen elrendeztetek GIMP vagy Photoshop-ban, az esetleg a betűdzsungelben eltűnhet. Erről és arról, hogy ez a probléma hogyan oldható meg, majd később lesz szó.
Először azonban térjünk vissza a klasszikus változathoz. Az alábbiakban látható egy tipikus meghatározás, amellyel az oldal alapvető megjelenése lesz testre szabható. A body meghatározással először az alapvető betűstílust állíthatjátok be.
body {
font-family: Georgia, Times, "Times New Roman", serif;
color: #000;
font-size: 1.1em;
line-height: 150%;
}
p {
font-size: 1.1em;
}
Természetesen az oldal elemzjeit is külön-külön formázhatjátok. Ide tartozik például a címsorok, dőlt szövegrészek stb. Ebben az összefüggésben azonban ne feledkezzetek meg a CSS öröklődési elvéről.
h1 {
font-size: 1.6em;
}A végeredmény a böngészőben kb. így néz ki:
Webfontok használata
A hagyományos betűtípusok definiálásánál a probléma nyilvánvaló: Végül is nem lehettek biztosak abban, hogy az általuk megadott betűtípus valóban elérhető-e a néző számára. A böngészők esetleg egy másikat választanak, ha nem találják meg a kívánt betűtípust. Így természetesen nincs igazi kontroll a végeredmény felett. Éppen itt nyújt segítséget az @font-face. Ennek segítségével a felhasználó által használni kívánt betűtípust egyértelműen meg lehet adni. Működése lényegében azonos a képekével. Azaz meg kell adni a betűtípusfájl elérési útvonalát.
A modern böngészők a @font-face-hez úgynevezett WOFF-webfontokat használnak. Ezek a betűtípusok jóval kisebbek, mint a korábban használt webfont formátumok, az EOT és a TTF.
@font-face {
font-family: "Bitstream Vera Serif Bold";
src: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");
}
A használandó betűtípus nevét a font-family résznél jegyzi fel. Eddig tehát nincsenek szintaktikai különlegességek. A src:url()-en keresztül meg kell adni az URL-t, ahol a webfont fájl elérhető. Ha elméletileg felmerülhet, hogy a betűtípus elérhető a felhasználók számítógépein, akkor érdemes kiegészíteni az instrukciókat a local szóval. A localhoz rendeld hozzá a betűtípus nevét.
@font-face {
font-family: "Bitstream Vera Serif Bold";
local: "Bitstream Vera Serif Bold";
src: url("http://developer.mozilla.org/@api/deki/files/2934/=VeraSeBd.ttf");
}
A @font-face definíció után a webfontokat teljesen normál módon lehet használni.
h1 {
font-family: "Bitstream Vera Serif Bold";
font-size: 1.2em;
color: #3399FF;
}Itt találhatók például a webfontok
Felmerül a kérdés, hogy honnan lehet az adott webfont fájlokat szerezni. Például a Google számos ilyen webfontot hostol a http://www.google.com/fonts oldalon.
Ezen fontokat közvetlenül az említett oldalon keresztül lehet beágyazni.
Egy megfelelő hívás így nézhet ki:
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Tangerine">
A font-family-ben a kívánt webfontot kell megadni. A fent említett Google oldalon ezeket a neveket és hívásokat találjátok. Miután beágyaztátok a webfontot, használható lesz, mint bármely más betűtípus.
body {
font-family: 'Tangerine', serif;
font-size: 1.2em;
}Az oldalon több webfont is használható, ha valaki szeretne. Ehhez menjen a http://www.google.com/fonts oldalon a kívánt webfontokhoz, majd kattintson a Add to Collection gombra. Ha minden webfont a saját gyűjteményben van, a lapon lent található Use opcióra kattintva egy tárcsaszerű eszközfelület jelenik meg.
Ezen ábrán látható, hogy milyen hatással van a webfontok beágyazása az oldal betöltési idejére. Ezek a hatások ténylegesen mérhetők és minden további webfonttal növekednek.
Hogyan lehet több webbetűtípust használni, amelyeket korábban a gyűjteményébe helyezett, azt a következő példa mutatja:
<link href="http://fonts.googleapis.com/css? family=Henny+Penny|Eagle+Lake|Amarante|Plaster|Courgette" rel="stylesheet" type="text/css">
Az egyes webbetűtípusokat tehát egymástól elválasztott függőleges vonallal írjuk egymás után. A választott gyűjteményhez tartozó teljes hívás a már említett Use-oldalon jelenik meg.
Sok webbetűtípus biztosít ún. részhalmazokat, mint például latin vagy cirill. Az ilyeneket kifejezetten be kell vonni, a kívánt részhalmazt paraméterként kell megadni.
http://fonts.googleapis.com/css?family=Philosopher&subset=cyrillic
Ha több ilyen részhalmazt szeretnél használni, akkor ezeket vesszővel elválasztva kell megadni.
http://fonts.googleapis.com/css?family=Philosopher&subset=latin,cyrillic
Az ilyen webbetűtípus használata azonban egyáltalán nem vitátlan. Először is kapcsolatot kell létesíteni az oldal betöltésekor a Google szerverével. Ez elkerülhető, ha letöltöd a webbetűtípus-fájlt és saját szerveredre töltöd fel. Minden esetben figyelj azonban a webbetűtípusok használati feltételeire, amelyeket ezen a módon kívánsz használni.
A példoldal betűdefiníciója
Alább találhatóak a betűdefiníciók, amelyeket az aktuális példoldalon fogok használni:
body {
font-family: 'Crimson Text', Helvetica, sans-serif;
color: #444;
text-decoration: none;
line-height: 1.5em;
font-size: 1.2em;
}
p {
font-size: 1.1em;
}
h1 {
font-size: 1.6em;
color: #3399FF;
}
Természetesen felveheted a további elemeket. Az aktuális esetben ez a szintaxis azonban bőven elegendő.