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 Fonts Module Level 3, которая на момент написания этой статьи находится в статусе кандидата в рекомендации, что означает, что она может измениться в любой момент.
Рабочий стол
Хром | Край | Fire Fox | IE | Опера | Сафари |
---|---|---|---|---|---|
52 | Нет | 34 | Нет | 39 | 9.1 |
Firefox 24-34 (эксклюзивный) поддерживает свойство, стоящее за layout.css.font-features.enabled
предпочтением, если для него установлено значение true
.
Мобильный
Браузер Android | Chrome Android | Край | Fire Fox | IE | Опера Android | iOS Safari |
---|---|---|---|---|---|---|
52 | 52 | Нет | 34 | Нет | 39 | да |