The font-variant-numeric
properti di CSS mendukung format font OpenType oleh yang menetapkan mesin terbang numerik untuk digunakan pada kelas, termasuk variasi untuk pecahan, spidol ordinal dan variasi gaya antara lain.
Sedikit Konteks
Kami cenderung menganggap angka sebagai mesin terbang statis. Ini mencetak dan begitulah adanya. Namun, angka lebih seperti huruf alfabet dalam arti bahwa angka dapat memiliki varian yang, tergantung pada konteksnya, membuatnya layak untuk dimodifikasi gayanya. Kita berbicara tentang hal-hal seperti pecahan (misalnya 1/4), ordinal (misalnya 1) dan bahkan padanan angka huruf besar dan huruf kecil. Namun, tidak seperti huruf, variasi ini tidak mengubah makna konten, meskipun memberikan konteks tambahan atau berdampak pada keterbacaan.
Masalah dengan properti ini adalah bahwa properti ini dirancang untuk bekerja dengan font yang mendukung OpenType, format font baru namun berkembang dengan cepat yang menyediakan serangkaian mesin terbang yang lebih luas yang dapat ditargetkan untuk digunakan dalam konteks yang berbeda. Anda mungkin sering mendengar OpenType disebut sebagai font variabel dan itu karena mereka berisi lebih banyak variasi karakter yang membuatnya lebih fleksibel untuk berbagai kegunaan. Variasi untuk semua hal!
Masalahnya adalah ketersediaan font yang dapat memanfaatkan sepenuhnya font-variant
dan font-variant-numeric
terbatas. Ada semakin banyak font yang kompatibel dengan OpenType, tetapi ada subset opsi yang jauh lebih kecil yang memanfaatkan semua fitur yang font-variant-numeric
ditawarkan dan seringkali premium dan mahal. Richard Butler menyimpulkannya dengan baik:
Kami memiliki nomor 'huruf besar' yang kami miliki yang disebut angka lapisan atau judul, dan angka 'huruf kecil' yang disebut gaya lama atau angka teks.… Ini juga kasus bahwa sebagian besar font tidak modern atau profesional, jika modern berarti OpenType- sarana berkemampuan dan profesional yang dirancang dengan kedua set angka.
Masalah terbesar yang biasanya kami khawatirkan terkait properti CSS adalah dukungan browser, tetapi properti ini dan semua yang terkait lainnya font-variant
juga bergantung pada desainer font untuk memberikan dukungan penuh ke tabel.
Itu menyedihkan tapi kami mulai melihat lebih banyak font "modern" dan "profesional" muncul, bahkan pada saat tulisan ini dibuat. Adobe TypeKit mengumumkan bahwa itu berfungsi untuk mendukung fitur OpenType dan ada desas-desus bahwa Google Fonts juga ada sekarang karena Chrome 62 mendukungnya.
Penggunaan Dasar
Ini adalah penggunaan paling dasar dari properti:
.fraction ( font-variant-numeric: diagonal-fractions; )
Peramban lama tidak akan mengenalinya, tetapi mereka menerima font-feature-settings
yang membuka fitur yang sama dengan nilai yang berbeda. Kami dapat memasangkan dua properti untuk dukungan yang lebih dalam:
.fraction ( font-feature-settings: frac; font-variant-numeric: diagonal-fractions; )
Atau, kita dapat menyesuaikan ini untuk mengendus dukungan browser yang digunakan @supports
sehingga properti baru hanya disajikan ke browser pendukung:
.fraction ( font-feature-settings: frac; ) @supports (font-variant-numeric: diagonal-fractions) ( .fraction ( font-feature-settings: frac; font-variant-numeric: diagonal-fractions; ) )
Nilai
The font-variant-numeric
properti menerima nilai-nilai berikut. Nilai yang sesuai font-feature-settings
dicatat untuk referensi.
Nilai Umum
Nilai | Deskripsi | Pengaturan Fitur |
---|---|---|
normal | Tak satu pun dari fitur yang tercantum di bawah ini diaktifkan. | T / A |
ordinal | Menerapkan huruf untuk mewakili urutan numerik, biasanya dalam bentuk superskrip. | ordn |
slashed-zero | Menampilkan bentuk nol alternatif dengan garis diagonal yang melewatinya. | zero |
Nilai Angka Numerik
Nilai | Deskripsi | Pengaturan Fitur |
---|---|---|
lining-nums | Garis dinomori secara vertikal sehingga menempel pada ketinggian yang sama akan disejajarkan pada bidang yang sama. | lnum |
oldstyle-nums | Memungkinkan perataan vertikal alternatif di mana angka tidak selalu ditampilkan secara merata pada garis dasar yang sama. | onum |
Nilai Pecahan Numerik
Nilai | Deskripsi | Pengaturan Fitur |
---|---|---|
diagonal-fractions | Menampilkan pecahan dalam format yang lebih kecil di mana pembilang (angka atas) dan penyebut (angka bawah) dibagi dengan garis miring diagonal. | frac |
stacked-fractions | Menampilkan pecahan dalam format yang lebih kecil dengan pembilang dan penyebut ditumpuk satu sama lain dan dibagi dengan garis horizontal. | afrc |
Nilai Spasi Numerik
Nilai | Deskripsi | Pengaturan Fitur |
---|---|---|
proportional-nums | Mengizinkan angka untuk mengambil jumlah ruangnya sendiri yang lebarnya tidak harus sama dengan angka lain. | pnum |
tabular-nums | Menampilkan angka dengan ukuran, proporsional, dan spasi yang sama untuk pemformatan yang bersih dalam konteks data tabel. | tnum |
Spesifikasi menyertakan catatan khusus pada penggunaan ordinal
karena menyerupai sup
elemen superscript tetapi diberi markup berbeda.
Untuk superskrip:
sup ( font-variant-position: super; )
Two squared is 22
Untuk penanda ordinal:
.ordinal ( font-variant-numeric: ordinal; )
1st
Dukungan Browser
The font-variant-numeric
properti saat ini merupakan bagian dari CSS Font Modul Level 3 spesifikasi, yang dalam status Rekomendasi Calon pada saat penulisan ini, yang berarti dapat berubah setiap saat.
Desktop
Chrome | Tepi | Firefox | YAITU | Opera | Safari |
---|---|---|---|---|---|
52 | Tidak | 34 | Tidak | 39 | 9.1 |
Firefox 24-34 (eksklusif) mendukung properti di balik layout.css.font-features.enabled
preferensi saat disetel ke true
.
Seluler
Browser Android | Chrome Android | Tepi | Firefox | YAITU | Opera Android | iOS Safari |
---|---|---|---|---|---|---|
52 | 52 | Tidak | 34 | Tidak | 39 | Iya |