Rumah >hujung hadapan web >tutorial css >Fon Variabel: Apa yang Mereka, dan Cara Menggunakannya
Takeaways Key
Dengan evolusi pelayar web, inovasi seperti tag pada Netscape Navigator dan spesifikasi CSS pertama membolehkan laman web untuk mengawal fon apa yang dipaparkan. Walau bagaimanapun, fon ini perlu dipasang pada komputer pengguna.
Pada tahun 1998, Kumpulan Kerja CSS mencadangkan sokongan peraturan @font-face untuk membolehkan mana-mana jenis huruf diberikan di laman web. IE4 melaksanakan teknologi tetapi pengagihan fon kepada pelayar setiap pengguna menimbulkan isu pelesenan dan cetak rompak.
awal tahun 2000an menyaksikan kebangkitan teknik penggantian imej yang menggantikan kandungan HTML dengan imej teks gaya. Setiap teks perlu dihiris dalam program seperti Photoshop. Teknik ini mempunyai kelebihan utama yang membolehkan pereka menggunakan mana -mana jenis huruf yang tersedia tanpa perlu berurusan dengan pelesenan font.
Pada tahun 2008, @Font-Face akhirnya membuat kemunculan semula apabila Apple Safari dan Mozilla Firefox melaksanakannya. Ini keluar dari keperluan menyediakan cara yang mudah untuk pereka dan pemaju untuk menggunakan fon tersuai dan bukannya imej yang tidak dapat diakses.
Tidak sampai kedatangan modul fon CSS3 pada tahun 2012 yang memuat turun fon menjadi berdaya maju. Setelah dilaksanakan, fon yang dimuat turun oleh laman web hanya boleh digunakan pada halaman itu dan tidak disalin ke sistem operasi. Muat turun fon dibenarkan fon jauh dimuat turun dan digunakan oleh penyemak imbas, yang bermaksud bahawa pereka web kini boleh menggunakan fon yang tidak dipasang pada komputer pengguna. Apabila pereka web mendapati fon yang mereka ingin gunakan, mereka hanya perlu memasukkan fail fon pada pelayan web, dan ia akan dimuat turun secara automatik kepada pengguna apabila diperlukan. Fon ini dirujuk menggunakan peraturan @font-face.
untuk menggunakan peraturan @font-face kita perlu menentukan nama fon dan menunjuk pada fail font:
<span><span>@font-face</span> { </span> <span>font-family: Avenir Next Variable; </span> <span>src: <span>url(AvenirNext_Variable.woff)</span>; </span><span>} </span>
Fail font boleh menjadi salah satu daripada lima format yang berbeza: TTF, Woff, Woff2, SVG atau EOT. Setiap mempunyai kelebihan dan kekurangannya sendiri. Meletakkannya semata -mata, EOT dicipta oleh Microsoft dan hanya disokong oleh Internet Explorer. TTF adalah fon jenis asas yang dibuat oleh Microsoft dan Apple, dan ia berfungsi hampir sempurna di mana -mana. SVG didasarkan pada teknik penggantian imej dan hanya sesuai untuk web. Akhirnya, Woff dan Woff2 juga dicipta secara eksklusif untuk web dan pada dasarnya fail TTF dengan pemampatan tambahan.
Versi 1.8 OpenType (format fon berskala komputer) dikeluarkan pada tahun 2016. Teknologi baru yang dihantar dengannya: variasi font OpenType, juga dikenali sebagai fon berubah -ubah.
Teknologi ini membolehkan satu fon untuk berkelakuan seperti pelbagai fon. Ia dilakukan dengan menentukan variasi dalam font. Variasi ini berasal dari fakta bahawa setiap watak hanya mempunyai satu garis besar. Titik yang membina garis besar ini mempunyai arahan tentang bagaimana mereka harus berkelakuan. Ia tidak perlu untuk menentukan pelbagai berat fon kerana ia boleh diinterpolasi antara definisi yang sangat sempit dan sangat luas. Ini juga memungkinkan untuk menjana gaya di antara-sebagai contoh, separuh berani dan berani. Variasi ini boleh bertindak sepanjang satu atau lebih paksi fon. Pada imej di bawah, kami mempunyai contoh interpolasi garis besar ini pada huruf A.
Terdapat dua cara yang berbeza untuk menggunakan fon berubah -ubah. Pertama, kita akan melihat cara moden untuk melaksanakannya. Spesifikasi CSS lebih suka menggunakan font-optik, gaya font, font-weight dan font-stretch untuk mengawal mana-mana paksi standard.
Harta ini membolehkan pemaju mengawal sama ada atau tidak penyemak imbas memberikan teks dengan representasi visual yang sedikit berbeza untuk mengoptimumkan tontonan pada saiz yang berbeza. Ia boleh mengambil nilai tiada, kerana apabila penyemak imbas tidak dapat mengubah bentuk glyphs, atau auto untuk apabila ia boleh. Pada penyemak imbas yang menyokong saiz font-optik, fon di mana nilai ditetapkan ke auto boleh berubah seperti font dalam imej di bawah:
gaya font
font-weight
font-stretch
Untuk contoh ini, saya membuat halaman yang sangat mudah dengan satu
perenggan.
Lihat fon pembolehubah pena HTML oleh SitePoint (@SitePoint) pada codepen.
Pada masa ini, laman web yang tidak terkawal kami kelihatan seperti ini:
Untuk menggunakan font pembolehubah, kita mesti mencari fail yang sesuai. Projek V-Font menyediakan repositori fon di mana kita boleh mencari dan bereksperimen dengan semua jenis fon pembolehubah. Saya memutuskan untuk menggunakan font AvenirNext dan menghubungkannya dari halaman GitHub rasminya.
maka kita perlu membuat fail CSS untuk memuatkan font baru ini:
Lihat font pembolehubah yang dimuatkan oleh pena oleh SitePoint (@SitePoint) pada codepen.
<span><span>@font-face</span> { </span> <span>font-family: Avenir Next Variable; </span> <span>src: <span>url(AvenirNext_Variable.woff)</span>; </span><span>} </span>
Oleh kerana isu sokongan penyemak imbas, contoh ini hanya akan menggunakan variasi fon dalam safari dan krom.
<span><span>@font-face</span> { </span> <span>font-family: Avenir Next Variable; </span> <span>src: <span>url(AvenirNext_Variable.woff)</span>; </span><span>} </span>Lihat Font Variabel Pena Sumber Pena oleh SitePoint (@SitePoint) pada Codepen.
Kebanyakan masa kita juga memerlukan dua fail fon yang berbeza: satu untuk italic dan satu untuk fon biasa (Roman). Ini berlaku kerana pembinaan fon ini boleh berbeza secara radikal.
Menggunakan penetapan variasi font
Menggunakan laman web dan fon yang sama seperti di atas, mari kita cuba menetapkan berat dan lebar pada fon kami menggunakan pengawal peringkat rendah:
<span><span>@font-face</span> { </span> <span>font-family: 'Avenir Next Variable'; </span> <span>src: <span>url('AvenirNext_Variable.ttf')</span> format('truetype'); </span><span>} </span> <span>body { </span> <span>font-family: 'Avenir Next Variable', sans-serif; </span><span>} </span>Lihat Font Variable Pen 1 oleh SitePoint (@SitePoint) pada codepen.
Pengisytiharan bersamaan dengan perisytiharan CSS berikut:
<span><span>@font-face</span> { </span> <span>font-family: Avenir Next Variable; </span> <span>src: <span>url(AvenirNext_Variable.woff)</span>; </span><span>} </span>
Prestasi adalah kelebihan utama fon berubah -ubah. Fail font avenirnext_variable.ttf hanya 89kb tetapi mencipta pelbagai berat. Font standard setanding mungkin mempunyai fail yang lebih kecil tetapi hanya akan menyokong satu berat dan gaya. Pilihan selanjutnya memerlukan fail tambahan dan menaikkan berat halaman dengan sewajarnya.
tetapi kita boleh pergi lebih jauh. Apabila kami bercakap tentang format fon, kami berkata bahawa fail Woff2 pada dasarnya adalah fail TTF dengan pemampatan tambahan. Fail Woff2 lebih kecil kerana mereka menggunakan algoritma preprocessing dan mampatan adat untuk menyampaikan pengurangan saiz fail ~ 30% ke atas format lain.
Google menawarkan alat baris arahan yang akan memampatkan fail kami menukarkannya ke format Woff2.
Pada halaman GitHub rasmi alat, kami dapat mencari semua maklumat mengenainya. Untuk memasangnya pada persekitaran Unix, kita boleh menggunakan arahan berikut:
<span><span>@font-face</span> { </span> <span>font-family: 'Avenir Next Variable'; </span> <span>src: <span>url('AvenirNext_Variable.ttf')</span> format('truetype'); </span><span>} </span> <span>body { </span> <span>font-family: 'Avenir Next Variable', sans-serif; </span><span>} </span>
Setelah memasangnya, kami boleh menggunakannya untuk memampatkan fail fon pembolehubah kami dengan menggunakan:
<span>h1 { </span> <span>font-family: 'Avenir Next Variable'; </span> <span>font-weight: 430; </span><span>} </span>
dan kami berakhir dengan fail 42kb, yang separuh saiz fail. Untuk menggunakan fail ini, kita hanya perlu mengubah suai fail bersumber dan formatnya untuk menampung fail baru ini:
<span>p { </span> <span>font-variation-settings: 'wght' 630, 'wdth' 88; </span><span>} </span>
Kami kini mempunyai satu fail 42kb yang boleh digunakan untuk semua berat fon pada halaman kami. Satu -satunya kelemahan untuk format Woff2 ialah ia tidak disokong oleh Internet Explorer.
Walaupun beberapa pelayar moden sudah menyokong fon berubah -ubah (edisi pemaju Firefox mempunyai beberapa tahap sokongan, Chrome 62, Chrome Android, Safari IOS, dan Safari), mungkin ada kes di mana kita dapati yang tidak. >
Untuk mendapatkan sekitar ini, kita perlu sama ada berkhidmat tidak berubah untuk penyemak imbas tersebut atau menggunakan sandaran fon sistem operasi.Pelayar yang menyokong fon pembolehubah akan memuat turun fail yang ditandakan sebagai format ('Woff2-variasi'), sementara pelayar yang tidak akan memuat turun fon gaya tunggal yang ditandakan sebagai format ('TTF'). Ini mungkin kerana kita boleh mengulangi rujukan kepada pembolehubah dalam setiap peraturan. Jika yang pertama gagal, yang kedua akan dimuatkan. Sama seperti yang berikut:
<span>p { </span> <span>font-weight: 630; </span> <span>font-stretch: 88; </span><span>} </span>Contoh seterusnya menggunakan format fail yang berbeza dari yang kami bekerjasama, tetapi menggunakan prinsip yang sama:
Lihat pena pelbagai fon oleh SitePoint (@SitePoint) pada codepen.
Jika kita menyemak hasil pada penyemak imbas yang menyokong fon berubah, seperti Chrome, kita dapat melihat yang berikut:
pada penyemak imbas yang tidak menyokong fon berubah -ubah, seperti Firefox, fon kedua akan dimuatkan dan hasilnya akan kelihatan seperti ini:
Jika penyemak imbas hanya boleh memuatkan font standard, kami kehilangan prestasi dan memberi manfaat kepada fon berubah -ubah. Dalam situasi tersebut, ia mungkin lebih baik untuk menimpa fon sistem operasi yang setanding dan bukannya menggantikannya dengan banyak fon tetap.
Walaupun tersedia selama beberapa tahun sekarang, fon berubah -ubah masih di peringkat awal. Sokongan penyemak imbas adalah terhad dan terdapat beberapa fon untuk dipilih. Walau bagaimanapun, potensi adalah sangat besar, dan fon berubah -ubah akan membenarkan prestasi yang lebih baik sambil memudahkan pembangunan. Sebagai contoh, halaman depan SitePoint sendiri kini memuat lapan fail fon dengan jumlah 273KB. Fon berubah dapat mengurangkan ketergantungan ini dan memotong berat halaman lebih jauh.
Atas ialah kandungan terperinci Fon Variabel: Apa yang Mereka, dan Cara Menggunakannya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!