font-size-adjust
Высота базовой линии 2024
Новое
С июля 2024 года эта функция работает на последних версиях устройств и браузеров. Возможно, эта функция не будет работать на более старых устройствах или браузерах.
Свойство font-size-adjust CSS предоставляет способ изменения размера строчных букв по отношению к размеру заглавных букв, что определяет общий font-size. Это свойство полезно в ситуациях, когда может произойти подстановка шрифтов.
Читаемость может стать проблемой, когда предпочтительный font-family недоступен, а заменяющий шрифт имеет существенно отличное значение аспекта (высота строчных букв, делённая на размер шрифта). Читаемость шрифтов, особенно при небольших размерах шрифта, определяется больше размером строчных букв, чем размером заглавных. Свойство font-size-adjust полезно для изменения размера шрифта резервных шрифтов, чтобы сохранить значение аспекта во всех шрифтах, обеспечивая, что текст выглядит одинаково независимо от используемого шрифта.
Синтаксис
/* Keyword */ font-size-adjust: none; /* One value: <number> or from-font */ font-size-adjust: 0.5; font-size-adjust: from-font; /* Two values */ font-size-adjust: ex-height 0.5; font-size-adjust: ch-width from-font; /* Global values */ font-size-adjust: inherit; font-size-adjust: initial; font-size-adjust: revert; font-size-adjust: revert-layer; font-size-adjust: unset;
Значения
Свойство font-size-adjust принимает в качестве значения ключевое слово none, одно (<number> или from-font) или два (<font-metric> и либо <number> или from-font) значения.
none-
Для значения резервного шрифта
font-sizeкорректировка не применяется. -
<font-metric>Необязательно -
Указывает метрику предпочтительного шрифта для корректировки размера шрифта резервного шрифта. Этот параметр принимает одно из следующих ключевых слов. Это необязательный параметр, и
ex-heightиспользуется, если<font-metric>не указано.ex-height-
Использует отношение высоты x-высоты (высота строчной буквы «x» в шрифте) к размеру шрифта (значение аспекта) для корректировки размера резервного шрифта. Это ключевое значение используется для нормализации строчных букв в различных шрифтах.
cap-height-
Использует отношение высоты прописных букв (высота заглавных букв) к размеру шрифта для корректировки размера резервного шрифта. Это ключевое значение используется для нормализации заглавных букв в различных шрифтах.
ch-width-
Использует отношение ширины шага (горизонтальное пространство, занимаемое символом в шрифте) символа «0» (НОЛЬ, U+0030) к размеру шрифта. Это ключевое значение используется для нормализации горизонтального узкого наклона шрифтов.
ic-width-
Использует отношение ширины шага символа «水» (иероглиф «вода» в CJK, U+6C34) к размеру шрифта. Это ключевое значение используется для нормализации горизонтального широкого наклона шрифтов, особенно тех, которые включают символы CJK (китайские, японские, корейские).
ic-height-
Использует отношение высоты шага (вертикальное пространство, занимаемое символом в шрифте) символа «水» (иероглиф «вода» в CJK, U+6C34) к размеру шрифта. Это ключевое значение используется для нормализации вертикального широкого наклона шрифтов, особенно тех, которые включают символы CJK.
<number>-
Корректирует размер используемого шрифта в зависимости от указанного
<font-metric>. Когда<font-metric>не указан (в этом случае используется значение по умолчаниюex-height), значение<number>корректирует размер шрифта резервного шрифта таким образом, чтобы его x-высота была указанным кратным размеру шрифта. Это значение обычно должно совпадать со значением аспекта (отношение x-высоты к размеру шрифта) основного шрифта. Это означает, что основной шрифт, когда он доступен, будет отображаться согласованно во всех браузерах, независимо от их поддержкиfont-size-adjust.Когда указано значение
<font-metric>, значение<number>корректирует размер шрифта согласно выбранной<font-metric>, чтобы сохранить согласованный вид указанной метрики шрифта в различных шрифтах.Значение
<number>принимает любое число от0до бесконечности.0даёт текст нулевой высоты (то есть текст скрыт). Отрицательные значения недопустимы. from-font-
Использует значение
<number>для указанного<font-metric>из доступного шрифта.
Описание
Для обеспечения совместимости с браузерами, которые не поддерживают font-size-adjust, это свойство задаётся как числовой множитель свойства font-size. Это число обычно должно совпадать со значением аспекта основного шрифта.
Примечание: Если указанная <font-metric> была переопределена в @font-face, например, с помощью описателя size-adjust, то переопределённая метрика будет использована в расчёте font-size-adjust. Это означает, что когда font-size-adjust и size-adjust применяются вместе, size-adjust не имеет никакого эффекта.
Корректированный размер шрифта вычисляется по формуле u = ( m / m′ ) s, где:
-
m— отношение указанной<font-metric>к размеру основного шрифта. -
m′— отношение соответствующей<font-metric>к размеру резервного шрифта. -
s— значение свойстваfont-size. -
u— новый, скорректированный размер шрифта для резервного шрифта.
Рассмотрим этот пример, чтобы увидеть, как вычисляется скорректированный размер шрифта. Предпочтительный шрифт имеет значение font-size 12px (s), а отношение cap-height к размеру шрифта равно 0.20 (m). Отношение cap-height к размеру шрифта в резервном шрифте составляет 0.15 (m′). Значение font-size-adjust задано как cap-height 0.20. Если основной шрифт недоступен, скорректированный размер шрифта резервного шрифта будет вычислен как 16px ((0.20 / 0.15) * 12). Это обеспечит, что cap-height резервного шрифта будет похож на cap-height основного шрифта при отображении.
Формальное определение
| Начальное значение | none |
|---|---|
| Применимо к | всем элементам и тексту. Также применяется к ::first-letter и ::first-line. |
| Наследуется | да |
| Вычисленное значение | как указано |
| Тип анимации | число number |
Формальный синтаксис
font-size-adjust =
none |
<number [0,∞]>
Примеры
Нормализация размера шрифта по строчным и заглавным буквам
Этот пример демонстрирует, как свойство font-size-adjust может быть использовано для сохранения одинакового значения аспекта в разных шрифтах. Шрифт Verdana имеет относительно высокое значение аспекта 0.545, что означает, что строчные буквы относительно высокие по сравнению с заглавными. Это делает текст в небольших размерах шрифтов удобочитаемым. Однако шрифт Times имеет более низкое значение аспекта 0.447, поэтому текст менее удобочитаем при небольших размерах. Если Verdana является предпочтительным шрифтом, а Times — резервным, указание свойства font-size-adjust может помочь сохранить одинаковое значение аспекта в Times. Таким образом, если шрифт переходит на Times, текст будет сохранять примерно такой же уровень удобочитаемости, как и с Verdana.
Аналогично, отношение высоты прописных букв к размеру шрифта в Verdana равно 0.73, а в Times — 0.66. Когда к Times применяется свойство font-size-adjust, чтобы скорректировать высоту его заглавных букв для соответствия отношению в Verdana, шрифт Times отображается в скорректированном размере шрифта ((0.73 / 0.66) * 14) 15.48px.
<p class="verdana"> A: This text uses the Verdana font (14px), which has relatively large lowercase letters. </p> <p class="times"> B: This text uses the Times font (14px), which is hard to read in small sizes. </p> <p class="times adj-times-ex-height"> C: This text in 14px Times font is adjusted to the same aspect value as the Verdana font, so lowercase letters are normalized across the two fonts. </p> <p class="times adj-times-cap-height"> D: This text in 14px Times font is adjusted to the same cap-height to font size ratio as the Verdana font, so uppercase letters are normalized across the two fonts. </p>
.times {
font-family: Times, serif;
font-size: 14px;
}
.verdana {
font-family: Verdana, sans-serif;
font-size: 14px;
}
.adj-times-ex-height {
font-size-adjust: 0.545;
}
.adj-times-cap-height {
font-size-adjust: cap-height 0.73;
}
Без font-size-adjust в B, переход от шрифта Verdana к шрифту Times может привести к заметному снижению удобочитаемости из-за его меньшего значения аспекта. В C, обратите внимание, что для свойства font-size-adjust указано только одно значение, поэтому используется значение по умолчанию <font-metric> ex-height. D показывает, как шрифт выглядел бы по сравнению с A , если бы высота его прописных букв была скорректирована.
Определение значения аспекта шрифта
Для данного шрифта одинаковое содержимое в двух расположенных рядом элементах <span> может использоваться для определения значения аспекта шрифта. Если для содержимого в обоих элементах span используется один и тот же размер шрифта, элементы span будут совпадать, когда значение font-size-adjust в одном из элементов span является точным для данного шрифта.
В примере ниже представлены три пары расположенных рядом элементов <span> , каждый из которых содержит букву "b". Цель заключается в корректировке свойства font-size-adjust для правого элемента <span> в каждой паре до тех пор, пока границы вокруг двух букв не выровняются. Полученное значение font-size-adjust может рассматриваться как значение аспекта для шрифта.
Начиная с 0.6 в первой паре и корректируя до 0.5 во второй, мы продолжаем изменять значение свойства font-size-adjust до тех пор, пока границы вокруг букв "b" не выровняются идеально в третьей паре. В этом примере значение аспекта определяется как 0.482.
<div> <p><span>b</span><span class="adjust1">b</span></p> 0.6 </div> <div> <p><span>b</span><span class="adjust2">b</span></p> 0.5 </div> <div> <p><span>b</span><span class="adjust3">b</span></p> 0.482 </div>
body {
display: flex;
}
div {
text-align: center;
}
p {
font-family: Futura;
font-size: 50px;
}
span {
border: solid 1px red;
}
.adjust1 {
font-size-adjust: 0.6;
}
.adjust2 {
font-size-adjust: 0.5;
}
.adjust3 {
font-size-adjust: 0.482;
}
Спецификации
| Спецификация |
|---|
| CSS Fonts Module Level 5 # font-size-adjust-prop |
Совместимость с браузерами
| Десктоп | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
font-size-adjust |
127 | 127 |
3До Firefox 40,font-size-adjust: 0 неправильно интерпретировалось как font-size-adjust: none (bug 1144885).1–3Поддерживается только в Windows. |
113 | 16.4 | 127 | 4До Firefox 40,font-size-adjust: 0 неправильно интерпретировалось как font-size-adjust: none (bug 1144885). |
84 | 16.4 | Нет | 127 |
from-font |
127 | 127 | 118 | 113 | 17 | 127 | 118 | 84 | 17 | Нет | 127 |
none |
127 | 127 | 3 | 113 | 16.4 | 127 | 4 | 84 | 16.4 | Нет | 127 |
two-values |
127 | 127 | 92 | 113 | 17 | 127 | 92 | 84 | 17 | Нет | 127 |
См. также
font-sizefont-weight-
size-adjust@font-faceпараметр - Основы стилизации текста и шрифтов
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/font-size-adjust