A @font-face
szabály lehetővé teszi az egyedi betűtípusok betöltését egy weboldalra. Miután hozzáadta a stíluslaphoz, a szabály utasítja a böngészőt, hogy töltse le a betűtípust onnan, ahonnan tárolja, majd jelenítse meg a CSS-ben meghatározottak szerint.
A szabály hiányában a terveink a felhasználó számítógépére már betöltött betűtípusokra korlátozódnak, amelyek a használt rendszertől függően változnak. Íme egy szép bontás a meglévő rendszer betűtípusokról.
A lehető legmélyebb böngésző támogatás
Ez a módszer a lehető legmélyebb támogatással. A @font-face
szabályt minden stílus előtt hozzá kell adni a stíluslaphoz.
@font-face ( font-family: 'MyWebFont'; src: url('webfont.eot'); /* IE9 Compat Modes */ src: url('webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('webfont.woff2') format('woff2'), /* Super Modern Browsers */ url('webfont.woff') format('woff'), /* Pretty Modern Browsers */ url('webfont.ttf') format('truetype'), /* Safari, Android, iOS */ url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */ )
Ezután használja az ilyen elemek stílusához:
body ( font-family: 'MyWebFont', Fallback, sans-serif; )
A böngésző támogatásának gyakorlati szintje
A dolgok erősen elmozdulnak a WOFF és a WOFF 2 felé, így valószínűleg megúszhatjuk:
@font-face ( font-family: 'MyWebFont'; src: url('myfont.woff2') format('woff2'), url('myfont.woff') format('woff'); )
Króm | Szafari | Firefox | Opera | AZAZ | Android | iOS |
---|---|---|---|---|---|---|
5+ | 5.1+ | 3,6+ | 11.50+ | 9+ | 4.4+ | 5.1+ |
Kissé mélyebb böngésző támogatás
Ha egyfajta boldog közegre van szüksége a teljes támogatás és a gyakorlati támogatás között, ez még néhány alapra kiterjed:
@font-face ( font-family: 'MyWebFont'; src: url('myfont.woff2') format('woff2'), url('myfont.woff') format('woff'), url('myfont.ttf') format('truetype'); )
Króm | Szafari | Firefox | Opera | AZAZ | Android | iOS |
---|---|---|---|---|---|---|
3,5+ | 3+ | 3,5+ | 10.1+ | 9+ | 2.2+ | 4.3+ |
Szuper Progresszív Böngésző Támogatás
Ha a farmot a WOFF-on tartjuk, akkor számíthatunk arra, hogy a dolgok egy bizonyos időpontban elmozdulnak a WOFF2 irányába. Ez azt jelenti, hogy a vérző peremen élhetünk:
@font-face ( font-family: 'MyWebFont'; src: url('myfont.woff2') format('woff2'); )
Króm | Szafari | Firefox | Opera | AZAZ | Android | iOS |
---|---|---|---|---|---|---|
36+ | Nem | 35+ zászlóval | 23+ | Nem | 37 | Nem |
Alternatív technikák
@import
Bár @font-face
kiváló a saját szervereinken tárolt betűtípusok esetében, előfordulhatnak olyan helyzetek, amikor a tárolt betűtípus-megoldás jobb. A Google Betűtípusok ezt kínálják a betűtípusaik használatának módjaként. Az alábbiakban bemutatunk egy példát @import
az Open Sans betűtípus betöltésére a Google Betűtípusokból:
@import url(//fonts.googleapis.com/css?family=Open+Sans);
Ezután felhasználhatjuk stíluselemekre:
body ( font-family: 'Open Sans', sans-serif; )
Ha megnyitja a betűtípus URL-jét, akkor valóban láthatja @font-face
a színfalak mögött végzett összes munkát.
A hosztolt szolgáltatás használatának előnye, hogy valószínűleg magában foglalja az összes betűkészlet-változatot, ami biztosítja a böngészők közötti mély kompatibilitást anélkül, hogy ezeket a fájlokat magunknak kellene tárolnunk.
Lásd a Tollal az @import használatával a CSS-Tricks egyedi betűtípusait (@ css-tricks) a CodePen-en.
stíluslap elkészítése
Hasonlóképpen ugyanarra az elemre, mint bármely más CSS-fájlra mutató link, a HTML-dokumentumban, nem pedig a CSS-ben lehet linkelni . A Google Fonts ugyanazon példáját használva ezt használnánk:
Ezután meg tudjuk stílusozni az elemeinket, mint a többi módszert:
body ( font-family: 'Open Sans', sans-serif; )
Ez ismét a @font-face
szabályok importálása, de ahelyett, hogy a stíluslapunkba illesztené őket, inkább a HTML-hez adják hozzá.
Lásd: A toll használata CSS-Tricks egyéni betűtípusokhoz (@ css-tricks) a CodePen oldalon.
Ugyanarról szól ... mindkét technika letölti a szükséges eszközöket.
A betűtípusok megismerése
A bejegyzés tetején található eredeti részlet sok különös kiterjesztésű fájlra hivatkozik. Nézzük át mindegyiket, és jobban megértsük, mit jelentenek.
WOFF / WOFF2
A következőkre vonatkozik: Web Open Font Format.
Az internetes felhasználásra létrehozott és a Mozilla által más szervezetekkel közösen kifejlesztett WOFF betűtípusok gyakran gyorsabban töltődnek be, mint más formátumok, mert az OpenType (OTF) és a TrueType (TTF) betűtípusok által használt szerkezet tömörített változatát használják. Ez a formátum metaadatokat és licencinformációkat is tartalmazhat a betűtípusfájlban. Úgy tűnik, hogy ez a formátum a nyerő, és ahova az összes böngésző tart.
A WOFF2 a WOFF következő generációja, és jobb tömörítéssel büszkélkedhet, mint az eredeti.
SVG / SVGZ
Állvány: Skálázható vektorgrafika (betűtípus)
Az SVG a betűtípus vektoros újrateremtése, ami sokkal könnyebbé teszi a fájlméretet, és ideális mobileszközökhöz is. Ez a formátum az egyetlen, amelyet a Safari for iOS 4.1 verziója engedélyez. Az SVG betűtípusokat jelenleg nem támogatja a Firefox, az IE vagy az IE Mobile. A Firefox határozatlan időre elhalasztotta a megvalósítást, hogy a WOFF-ra koncentráljon.
Az SVGZ az SVG csomagolt változata.
EOT
Jelentés: Beágyazott nyitott típus.
Ezt a formátumot a Microsoft (az eredeti fejlesztői @font-face
) hozta létre, és ez egy saját fájl szabvány, amelyet csak az IE támogat. Valójában ez az egyetlen formátum, amelyet az IE8 és az azt alatti felismer @font-face
.
OTF / TTF
Jelentés: OpenType betűtípus és TrueType betűtípus.
A WOFF formátumot eredetileg az OTF és a TTF reakciójaként hozták létre, részben azért, mert ezeket a formátumokat könnyen (és illegálisan) másolni lehetett. Az OpenType azonban rendelkezik olyan képességekkel, amelyek sok tervezőt érdekelhetnek (ligátumok és hasonlók).
Megjegyzés a teljesítményről
A webes betűtípusok nagyszerűek a tervezéshez, de fontos megérteni azok hatását a web teljesítményére is. Az egyéni betűtípusok gyakran arra késztetik a webhelyeket, hogy teljesítmény-találatot érjenek el, mert a betűtípust le kell tölteni, mielőtt megjelenik.
Gyakori tünet volt egy rövid pillanat, amikor a betűtípusok először tartalékként töltődnek be, majd a letöltött betűtípusra villognak. Paul Irishnek van egy régebbi bejegyzése erről („FOUT” néven: Flash Of Styled Text).
Manapság a böngészők általában elrejtik a szöveget, mielőtt az egyéni betűtípus alapértelmezés szerint betöltődik. Jobb vagy rosszabb? Te döntesz. Különböző technikák segítségével bizonyos irányítást gyakorolhat felettük. Ez a cikk kissé kívül esik, de itt van egy trifecta Zach Leatherman cikkeiből, hogy elindulhasson a nyúl lyukán:
- Jobb @ font-face betűtípus-betöltési eseményekkel
- Hogyan használjuk felelősen a webes betűtípusokat, vagy kerüljük a @ font-face-palm alkalmazást
- Flash of Faux Text - még többet a betűtípus betöltéséről
Íme néhány további szempont az egyéni betűtípusok megvalósításakor:
Figyelje a fájl méretét
A betűtípusok meglepően nehézek lehetnek, ezért hajlítsanak a könnyebb változatokat kínáló opciók felé. Például előnyben részesítsen egy 50KB-os betűkészletet, szemben a 400KB súlyú betűkészlettel.
Ha lehetséges, korlátozza a karakterkészletet
Tényleg szüksége van egy betű félkövér és fekete súlyára? Jó ötlet a betűkészletek korlátozása arra, hogy csak a használtakat töltsék be, és itt van néhány jó tipp.
Vegye fontolóra a rendszer betűtípusait a kis képernyőknél
Sok eszköz ragadt a gagyi kapcsolatokon. Az egyik trükk az lehet, hogy nagyobb képernyőket céloz meg, amikor az egyéni betűtípust használja @media
.
Ebben a példában az 1000 képpontnál kisebb képernyők rendszerszintű betűkészletet, a szélesebb és magasabb képernyők pedig az egyéni betűtípust jelenítik meg.
@media (min-width: 1000px) ( body ( font-family: 'FontName', Fallback, sans-serif; ) )
Betűtípus-szolgáltatások
Számos olyan szolgáltatás létezik, amelyek betűtípusokat tárolnak, és hozzáférést biztosítanak a kereskedelmi engedéllyel rendelkező betűtípusokhoz is. A szolgáltatás használatának előnyei gyakran abból fakadnak, hogy a legális betűtípusok széles választéka hatékonyan kerül kézbesítésre (például gyors CDN-en történő kiszolgálás).
Íme néhány tárolt betűtípus-szolgáltatás:
- Felhő tipográfia
- Typekit
- Fontdeck
- Webtípus
- Fontspring
- Typotheque
- Fonts.com
- Google betűtípusok
- Betűtípus Mókus
Mi a helyzet az ikon betűtípusokkal?
Igaz, a @ font-face betölthet egy ikonokkal teli betűtípusfájlt, amelyet egy ikonrendszerhez lehet használni. Úgy gondolom azonban, hogy sokkal jobb, ha az SVG-t ikonrendszerként használja. Itt van a két módszer összehasonlítása.
További források
- A Google Font API alapjai
- CSS betűtípuscsaládok