font-variant-numeric
Властивість в CSS підтримує формат шрифт OpenType, вказавши який числові символи для використання на класі, в тому числі варіацій для фракцій, порядкових маркерів і стилізованих варіацій серед інших.
Маленький контекст
Ми схильні сприймати числа як статичний гліф. Друкується, і це так. Однак цифри набагато більше нагадують літери алфавіту в тому сенсі, що вони можуть мати варіанти, які, залежно від контексту, роблять варте модифікації стилю. Ми говоримо про такі речі, як дроби (наприклад, 1/4), порядкові (наприклад, 1-й) і навіть еквівалент великих та малих цифр. Однак, на відміну від букв, ці варіації не змінюють значення змісту, хоча надають додатковий контекст або впливають на розбірливість.
Проблема цієї властивості полягає в тому, що він був розроблений для роботи зі шрифтами з підтримкою OpenType, новим, але швидко розвиваючимся форматом шрифтів, який забезпечує більш широкий набір гліфів, які можна орієнтувати на використання в різних контекстах. Ви часто можете почути OpenType, що називається змінними шрифтами, і це тому, що вони містять більшу кількість символів, що робить їх більш гнучкими для різноманітного використання. Варіації на всі речі!
Проблема в тому, що доступність шрифтів, здатних повною мірою скористатися перевагами, font-variant
і font-variant-numeric
обмежена. Зростає кількість сумісних з OpenType шрифтів, але є набагато менший набір опцій, які використовують усі пропоновані функції, font-variant-numeric
які часто є преміальними та дорогими. Річард Батлер чудово підсумовує це:
У нашому розпорядженні є "великі" номери, які називаються підкладкою чи цифрами із заголовком, і "малі" цифри, які називаються старими або текстовими цифрами. ... Також буває так, що переважна більшість шрифтів не є ні сучасними, ні професійними, якщо сучасний означає OpenType- включені та професійні засоби, розроблені з обома наборами цифр.
Найбільшою проблемою, якою ми зазвичай займаємось, коли йдеться про властивості CSS, є підтримка браузера, але ця властивість та всі інші, пов’язані з нею font-variant
, також на милість дизайнерів шрифтів, щоб забезпечити повну підтримку таблиці.
Це невдало, але ми починаємо бачити, як з’являються все більше «сучасних» та «професійних» шрифтів, навіть під час написання цієї статті. Adobe TypeKit оголосив, що працює над підтримкою функцій OpenType, і подейкують, що Google Fonts також є на борту, тепер, коли Chrome 62 їх підтримує.
Основне використання
Це основне використання властивості:
.fraction ( font-variant-numeric: diagonal-fractions; )
Старі браузери цього не розпізнають, але приймають, font-feature-settings
які розблоковують однакові функції з різними значеннями. Ми можемо поєднати два властивості для глибшої підтримки:
.fraction ( font-feature-settings: frac; font-variant-numeric: diagonal-fractions; )
Або ми можемо адаптувати це, щоб винюхати підтримку браузера, використовуючи @supports
так, щоб нова властивість служила лише для підтримки браузерів:
.fraction ( font-feature-settings: frac; ) @supports (font-variant-numeric: diagonal-fractions) ( .fraction ( font-feature-settings: frac; font-variant-numeric: diagonal-fractions; ) )
Цінності
font-variant-numeric
Властивість набуває таких значень. Відповідне font-feature-settings
значення зазначається для довідки.
Загальні цінності
Значення | Опис | Налаштування функцій |
---|---|---|
normal | Жодна з перелічених нижче функцій не ввімкнена. | Не застосовується |
ordinal | Застосовує літери для подання числового порядку, як правило, у формі верхнього індексу. | ordn |
slashed-zero | Відображає альтернативну форму нуля з діагональною лінією, яка проходить через неї. | zero |
Числові значення рисунка
Значення | Опис | Налаштування функцій |
---|---|---|
lining-nums | Рядки числити по вертикалі, щоб вони прилягали до однакової висоти, вирівнювались на одній площині. | lnum |
oldstyle-nums | Дозволяє альтернативне вертикальне вирівнювання, де цифри не завжди рівномірно відображаються на одній і тій же базовій лінії. | onum |
Числові значення дробу
Значення | Опис | Налаштування функцій |
---|---|---|
diagonal-fractions | Відображає дроби в меншому форматі, де чисельник (верхній номер) і знаменник (нижній номер) розділені діагональною косою рисою. | frac |
stacked-fractions | Відображає дроби в меншому форматі, де чисельник і знаменник складаються один на одного і діляться горизонтальною лінією. | afrc |
Числові інтервали
Значення | Опис | Налаштування функцій |
---|---|---|
proportional-nums | Дозволяє числам займати власний простір, який не обов'язково дорівнює по ширині іншим цифрам. | pnum |
tabular-nums | Відображає числа з однаковим розміром, пропорційним та інтервалом для чистого форматування в контексті табличних даних. | tnum |
Специфікація включає спеціальну примітку щодо використання, ordinal
оскільки вона нагадує верхній індекс, sup
але позначається по-різному.
Для верхнього індексу:
sup ( font-variant-position: super; )
Two squared is 22
Для порядкових маркерів:
.ordinal ( font-variant-numeric: ordinal; )
1st
Підтримка браузера
На font-variant-numeric
даний момент властивість є частиною специфікації модуля шрифтів CSS рівня 3, яка на момент написання статті перебуває у статусі Рекомендації щодо кандидатів, що означає, що вона може змінюватися в будь-який момент.
Робочий стіл
Chrome | Край | Firefox | IE | Опера | Сафарі |
---|---|---|---|---|---|
52 | Ні | 34 | Ні | 39 | 9.1 |
Firefox 24-34 (ексклюзивно) підтримує властивість, яка стоїть за layout.css.font-features.enabled
параметром, коли для нього встановлено значення true
.
Мобільний
Браузер Android | Chrome Android | Край | Firefox | IE | Opera для Android | iOS Safari |
---|---|---|---|---|---|---|
52 | 52 | Ні | 34 | Ні | 39 | Так |