@font-face
Kuralının, özel yazı tipleri, bir web sayfasında yüklenmesine izin verir. Bir stil sayfasına eklendikten sonra kural, tarayıcıya yazı tipini barındırıldığı yerden indirmesi ve ardından CSS'de belirtildiği gibi görüntülemesi talimatını verir.
Kural olmadan, tasarımlarımız, kullanılan sisteme bağlı olarak değişen, bir kullanıcının bilgisayarına zaten yüklenmiş olan yazı tipleriyle sınırlıdır. İşte mevcut sistem yazı tiplerinin güzel bir dökümü.
Olası En Derin Tarayıcı Desteği
Şu anda mümkün olan en derin desteğe sahip yöntem budur. @font-face
Kural herhangi stilleri önce biçembente eklenmelidir.
@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 */ )
Ardından, aşağıdaki gibi öğeleri biçimlendirmek için kullanın:
body ( font-family: 'MyWebFont', Fallback, sans-serif; )
Pratik Tarayıcı Desteği Seviyesi
İşler büyük ölçüde WOFF ve WOFF 2'ye doğru kayıyor, bu yüzden muhtemelen paçayı sıyırabiliriz:
@font-face ( font-family: 'MyWebFont'; src: url('myfont.woff2') format('woff2'), url('myfont.woff') format('woff'); )
Krom | Safari | Firefox | Opera | IE | Android | iOS |
---|---|---|---|---|---|---|
5+ | 5.1+ | 3.6+ | 11.50+ | 9+ | 4.4+ | 5.1+ |
Biraz Daha Derin Tarayıcı Desteği
Tam destek ve pratik destek arasında mutlu bir ortama ihtiyacınız varsa, bu birkaç temeli daha kapsayacaktır:
@font-face ( font-family: 'MyWebFont'; src: url('myfont.woff2') format('woff2'), url('myfont.woff') format('woff'), url('myfont.ttf') format('truetype'); )
Krom | Safari | Firefox | Opera | IE | Android | iOS |
---|---|---|---|---|---|---|
3.5+ | 3+ | 3.5+ | 10.1+ | 9+ | 2.2+ | 4.3+ |
Süper Aşamalı Tarayıcı Desteği
Çiftliği WOFF üzerinde tutuyorsak, o zaman işlerin bir noktada WOFF2'ye kaymasını bekleyebiliriz. Bu, kanayan kenarda yaşayabileceğimiz anlamına gelir:
@font-face ( font-family: 'MyWebFont'; src: url('myfont.woff2') format('woff2'); )
Krom | Safari | Firefox | Opera | IE | Android | iOS |
---|---|---|---|---|---|---|
36+ | Hayır | 35+ bayraklı | 23+ | Hayır | 37 | Hayır |
Alternatif Teknikler
@import
@font-face
Kendi sunucularımızda barındırılan yazı tipleri için mükemmel olsa da , barındırılan bir yazı tipi çözümünün daha iyi olduğu durumlar olabilir. Google Yazı Tipleri bunu yazı tiplerini kullanmanın bir yolu olarak sunar. Aşağıda, @import
Open Sans yazı tipini Google Fonts'tan yüklemek için kullanmanın bir örneği verilmiştir :
@import url(//fonts.googleapis.com/css?family=Open+Sans);
Daha sonra onu öğeleri biçimlendirmek için kullanabiliriz:
body ( font-family: 'Open Sans', sans-serif; )
Yazı tipinin URL'sini açarsanız, aslında @font-face
perde arkasında yapılan tüm işleri görebilirsiniz .
Barındırılan bir hizmeti kullanmanın bir yararı, tüm yazı tipi dosyası varyasyonlarını içerme olasılığının olmasıdır, bu da tüm bu dosyaları kendimiz barındırmak zorunda kalmadan derin çapraz tarayıcı uyumluluğu sağlar.
CodePen'de CSS-Tricks (@ css-tricks) tarafından özel yazı tipleri için @import Kullanan Kalem bölümüne bakın.
bir stil sayfası oluşturmak
Benzer şekilde, başka herhangi bir CSS dosyasında yaptığınız gibi aynı varlığa CSS yerine HTML belgesinde de bağlanabilirsiniz . Google Fonts'taki aynı örneği kullanırsak, bunu kullanırdık:
Ardından, öğelerimizi diğer yöntemler gibi biçimlendirebiliriz:
body ( font-family: 'Open Sans', sans-serif; )
Yine, bu @font-face
kuralların içe aktarılmasıdır, ancak bunları stil sayfamıza eklemek yerine, bunun yerine HTML’imize eklenirler .
CodePen'de CSS-Tricks (@ css-tricks) tarafından özel yazı tipleri için Kalem Kullanımı konusuna bakın.
Yaklaşık aynı şey… her iki teknik de gerekli varlıkları indiriyor.
Yazı Tipi Dosya Türlerini Anlamak
Bu yazının üst kısmındaki orijinal snippet, garip uzantılara sahip birçok dosyaya atıfta bulunuyor. Her birini gözden geçirelim ve ne anlama geldiklerini daha iyi anlayalım.
WOFF / WOFF2
Açılımı: Web Açık Yazı Tipi Biçimi.
Web'de kullanılmak üzere oluşturulan ve Mozilla tarafından diğer kuruluşlarla birlikte geliştirilen WOFF yazı tipleri, OpenType (OTF) ve TrueType (TTF) yazı tipleri tarafından kullanılan yapının sıkıştırılmış bir sürümünü kullandıklarından genellikle diğer biçimlerden daha hızlı yüklenir. Bu format, yazı tipi dosyasında meta verileri ve lisans bilgilerini de içerebilir. Bu format kazanan ve tüm tarayıcıların gittiği yer gibi görünüyor.
WOFF2, yeni nesil WOFF'tur ve orijinalinden daha iyi sıkıştırmaya sahiptir.
SVG / SVGZ
Standlar: Ölçeklenebilir Vektör Grafikleri (Yazı Tipi)
SVG, yazı tipinin bir vektör yeniden oluşturulmasıdır, bu da yazı tipini dosya boyutunda çok daha hafif hale getirir ve ayrıca mobil kullanım için idealdir. Bu biçim, iOS için Safari'nin 4.1 ve önceki sürümlerinde izin verilen tek biçimdir. SVG yazı tipleri şu anda Firefox, IE veya IE Mobile tarafından desteklenmemektedir. Firefox, WOFF'a odaklanmak için uygulamayı süresiz olarak erteledi.
SVGZ, SVG'nin sıkıştırılmış sürümüdür.
EOT
Standlar: Gömülü Açık Tip.
Bu format Microsoft (özgün yenilikçileri @font-face
) tarafından oluşturulmuştur ve yalnızca IE tarafından desteklenen özel bir dosya standardıdır. Aslında, IE8 ve aşağısının kullanırken tanıyacağı tek format budur @font-face
.
OTF / TTF
Açılımı: OpenType Yazı Tipi ve TrueType Yazı Tipi.
WOFF formatı başlangıçta OTF ve TTF'ye bir tepki olarak yaratıldı, çünkü bu formatlar kolayca (ve yasadışı olarak) kopyalanabilirdi, ancak OpenType birçok tasarımcının ilgilenebileceği yeteneklere sahiptir (bitişik harfler ve benzeri).
Performans Üzerine Bir Not
Web yazı tipleri tasarım için harikadır, ancak web performansı üzerindeki etkilerini de anlamak önemlidir. Özel yazı tipleri, genellikle sitelerin performans açısından darbe almasına neden olur çünkü yazı tipi görüntülenmeden önce indirilmelidir.
Yaygın bir belirti, yazı tiplerinin önce yedek olarak yüklendiği ve ardından indirilen yazı tipine yanıp söndüğü kısa bir andı. Paul Irish'in bu konuda daha eski bir yazısı var ("FOUT": Flash Of Unstyled Text).
Bu günlerde, tarayıcılar genellikle metni varsayılan olarak özel yazı tipi yüklenmeden önce gizlemektedir. İyi ya da kötü? Sen karar ver. Çeşitli tekniklerle bunun üzerinde bir miktar kontrol uygulayabilirsiniz. Bu makale için biraz kapsam dışı, ancak işte Zach Leatherman'ın tavşan deliğine başlamanıza yardımcı olacak üç makalesi:
- Font Yükleme Olayları ile daha iyi @ font-face
- Web yazı tiplerini sorumlu bir şekilde veya @ font-face-palm'den kaçınarak nasıl kullanıyoruz?
- Sahte Metin Flaşı - Yazı Tipi Yüklemede daha fazlası
Özel yazı tiplerini uygularken göz önünde bulundurulması gereken bazı noktalar:
Dosya boyutunu izleyin
Yazı tipleri şaşırtıcı derecede ağır olabilir, bu nedenle daha hafif sürümler sunan seçeneklere eğilin. Örneğin, 400 KB olan bir yazı tipi kümesine karşı 50 KB olan bir yazı tipi kümesini tercih edin.
Mümkünse karakter kümesini sınırlayın
Bir yazı tipi için gerçekten kalın ve siyah ağırlıklara ihtiyacınız var mı? Yazı tipi kümelerinizi yalnızca kullanılanları yüklemeye sınırlamak iyi bir fikirdir ve burada bununla ilgili bazı iyi ipuçları vardır.
Küçük ekranlar için sistem yazı tiplerini düşünün
Birçok cihaz berbat bağlantılara takılıyor. Özel yazı tipini kullanarak yüklerken daha büyük ekranları hedeflemek bir numara olabilir @media
.
Bu örnekte, 1000 pikselden küçük ekranlara bunun yerine bir sistem yazı tipi sunulacak ve geniş ve daha büyük ekranlara özel yazı tipi sunulacaktır.
@media (min-width: 1000px) ( body ( font-family: 'FontName', Fallback, sans-serif; ) )
Yazı Tipi Hizmetleri
Yazı tiplerini barındıracak ve ticari olarak lisanslı yazı tiplerine erişim sağlayacak bir dizi hizmet vardır. Bir hizmeti kullanmanın faydaları, genellikle verimli bir şekilde teslim edilen çok sayıda yasal yazı tipine (örneğin, onlara hızlı bir CDN'de hizmet vermek) kadar gelir.
İşte birkaç barındırılan yazı tipi hizmeti:
- Bulut Tipografi
- Typekit
- Fontdeck
- Web türü
- Yazı tipi bahar
- Typotheque
- Fonts.com
- Google Yazı Tipleri
- Yazı Tipi Sincap
Ya Simge Yazı Tipleri?
Doğru, @ font-face, bir simge sistemi için kullanılabilecek simgelerle dolu bir yazı tipi dosyası yükleyebilir. Bununla birlikte, SVG'yi bir simge sistemi olarak kullanmaktan çok daha iyi olduğunuzu düşünüyorum. İşte iki yöntemin bir karşılaştırması.
Daha fazla kaynak
- Google Yazı Tipi API'sinin Temelleri
- CSS Yazı Tipi Aileleri