Den font-variant-numeric
egendom i CSS stöder Opentype-teckensnitt format genom att ange vilka numeriska tecken för att använda på en klass, inklusive variationer för fraktioner, ordning markörer och stylade variationer bland annat.
Lite sammanhang
Vi brukar tänka på siffror som ett statiskt tecken. Det skrivs ut och så är det. Men siffror är mycket mer som alfabetbokstäver i den meningen att de kan ha varianter som, beroende på sammanhanget, gör det värt att ändra stilen. Vi pratar om saker som bråk (t.ex. 1/4), ordinarier (t.ex. 1: a) och till och med motsvarande siffror för stora och små bokstäver. Men till skillnad från bokstäver ändrar inte dessa variationer innehållets innebörd, även om de ger ytterligare sammanhang eller påverkar läsbarheten.
Gnuggan med den här egenskapen är att den utformades för att fungera med OpenType-aktiverade teckensnitt, ett nytt men snabbt utvecklande teckensnittsformat som ger en mer omfattande uppsättning glyfer som kan riktas till att användas i olika sammanhang. Du kanske ofta hör OpenType som kallas variabla teckensnitt och det beror på att de innehåller ett större antal tecken som gör dem mer flexibla för en mängd olika användningsområden. Variationer för alla saker!
Problemet är att tillgängligheten av teckensnitt som kan dra full nytta av font-variant
och font-variant-numeric
är begränsad. Det finns ett växande antal OpenType-kompatibla teckensnitt, men det finns en mycket mindre delmängd av alternativ som använder alla funktioner som font-variant-numeric
erbjuds och de är ofta premium och dyra. Richard Butler sammanfattar detta snyggt:
Vi har 'stora bokstäver' som kallas foder eller rubriksiffror och 'små bokstäver' som kallas gammal stil eller textsiffror. ... Det är också så att de allra flesta teckensnitt varken är moderna eller professionella, om modern betyder OpenType- aktiverade och professionella medel utformade med båda siffrorna.
Det största problemet som vi vanligtvis är bekymrade över när det gäller CSS-egenskaper är webbläsarstöd, men den här egenskapen och alla andra relaterade till font-variant
är också prisgiven för teckensnittsdesigners för att ge fullt stöd till tabellen.
Det är en bummer men vi börjar se mer "moderna" och "professionella" teckensnitt dyker upp, även när detta skrivs. Adobe TypeKit tillkännagav att det fungerar för att stödja OpenType-funktioner och det har ryktats om att Google Fonts är med ombord nu när Chrome 62 stöder dem.
Grundläggande användning
Detta är den mest grundläggande användningen av fastigheten:
.fraction ( font-variant-numeric: diagonal-fractions; )
Äldre webbläsare känner inte igen det, men de accepterar font-feature-settings
vilka låser upp samma funktioner med olika värden. Vi kan para ihop de två egenskaperna för djupare stöd:
.fraction ( font-feature-settings: frac; font-variant-numeric: diagonal-fractions; )
Eller så kan vi skräddarsy detta för att sniffa ut webbläsarsupport med hjälp av @supports
så att den nya egenskapen endast serveras till stödjande webbläsare:
.fraction ( font-feature-settings: frac; ) @supports (font-variant-numeric: diagonal-fractions) ( .fraction ( font-feature-settings: frac; font-variant-numeric: diagonal-fractions; ) )
Värden
Den font-variant-numeric
fastighet accepterar följande värden. Motsvarande font-feature-settings
värde noteras som referens.
Allmänna värden


Värde | Beskrivning | Funktionsinställning |
---|---|---|
normal | Ingen av funktionerna nedan är aktiverade. | Ej tillämpligt |
ordinal | Tillämpar bokstäver för att representera numerisk ordning, vanligtvis i form av ett superscript. | ordn |
slashed-zero | Visar en alternativ form av noll med en diagonal linje som går igenom den. | zero |
Numeriska figurvärden


Värde | Beskrivning | Funktionsinställning |
---|---|---|
lining-nums | Linjer uppåt med vertikalt så att de håller sig till samma höjd är inriktade på samma plan. | lnum |
oldstyle-nums | Tillåter en alternativ vertikal inriktning där siffror inte alltid visas jämnt på samma baslinje. | onum |
Numeriska bråkvärden


Värde | Beskrivning | Funktionsinställning |
---|---|---|
diagonal-fractions | Visar bråk i ett mindre format där täljaren (toppnummer) och nämnaren (bottennummer) divideras med en diagonal snedstreck. | frac |
stacked-fractions | Visar bråk i mindre format där täljaren och nämnaren staplas ovanpå varandra och delas med en horisontell linje. | afrc |
Numeriska avståndsvärden
Värde | Beskrivning | Funktionsinställning |
---|---|---|
proportional-nums | Tillåter att siffror tar upp sin egen mängd utrymme som inte nödvändigtvis är lika breda som andra siffror. | pnum |
tabular-nums | Visar siffror med samma storlek, proportionella och avstånd för ren formatering i tabellformade datakontexter. | tnum |
Specifikationen innehåller en speciell anmärkning om användningen av ordinal
eftersom den liknar superscript- sup
elementet men markeras annorlunda.
För övertryck:
sup ( font-variant-position: super; )
Two squared is 22
För ordinarie markörer:
.ordinal ( font-variant-numeric: ordinal; )
1st
Webbläsarstöd
Den font-variant-numeric
egenskapen är för närvarande en del av CSS teckensnitt Module Nivå 3-specifikationen, som är i Candidate Recommendation status vid tidpunkten för denna skrift, vilket betyder att det kan ändras när som helst.
Skrivbord
Krom | Kant | Firefox | IE | Opera | Safari |
---|---|---|---|---|---|
52 | Nej | 34 | Nej | 39 | 9.1 |
Firefox 24-34 (exklusivt) stöder egenskapen bakom layout.css.font-features.enabled
preferensen när den är inställd på true
.
Mobil
Android-webbläsare | Chrome Android | Kant | Firefox | IE | Opera Android | iOS Safari |
---|---|---|---|---|---|---|
52 | 52 | Nej | 34 | Nej | 39 | Ja |