CSS-свойство `font-synthesis`
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в разных версиях браузеров. Она доступна во всех браузерах с января 2022 года.
font-synthesis — CSS-свойство сокращённой записи, которое позволяет указать, может ли браузер синтезировать жирное, курсивное начертание, капитель или подстрочные и/или надстрочные символы, если они отсутствуют в указанном семействе шрифтов.
Попробуйте
font-synthesis: weight style small-caps;
font-synthesis: none;
font-synthesis: weight;
font-synthesis: style;
font-synthesis: small-caps;
font-synthesis: position;
<section class="default-example" id="default-example">
<div class="transition-all" id="example-element">
<p class="english">
This font does not include <span class="bold">bold</span>,
<span class="italic">italic</span>,
<span class="small-caps">small-caps</span>, and
<span class="sub">subscript</span> or
<span class="sup">superscript</span> variants.
</p>
<p class="chinese">
中文排版通常不用<span class="bold">粗体</span>或<span class="italic"
>斜体</span
>,也不会使用<span class="small-caps">小型大写字母</span>和<span
class="sub"
>下标</span
><span class="sup">上标</span>变体。
</p>
</div>
</section>
@import "https://fonts.googleapis.com/css2?family=Oxygen&display=swap";
@import "https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&display=swap";
.english {
font-size: 1.2em;
font-family: "Oxygen", sans-serif;
}
.chinese {
font-size: 1.2em;
font-family: "Ma Shan Zheng", cursive;
}
.bold {
font-weight: bold;
}
.italic {
font-style: italic;
}
.small-caps {
font-variant: small-caps;
}
.sub {
font-variant: sub;
}
.sup {
font-variant: super;
}
Составные свойства
Это свойство является сокращённой записью следующих свойств CSS:
Синтаксис
/* none or one or more of the other keyword values */ font-synthesis: none; font-synthesis: weight; font-synthesis: style; font-synthesis: position; font-synthesis: small-caps style; /* property values can be in any order */ font-synthesis: style small-caps weight position; /* property values can be in any order */ /* Global values */ font-synthesis: inherit; font-synthesis: initial; font-synthesis: revert; font-synthesis: revert-layer; font-synthesis: unset;
Значения
Для этого свойства указывается одно из следующих ключевых слов:
-
none - Указывает, что браузер не может синтезировать жирное или курсивное начертание либо капитель.
-
weight - Указывает, что при необходимости браузер может синтезировать отсутствующее жирное начертание.
-
style - Указывает, что при необходимости браузер может синтезировать курсивное начертание.
-
small-caps - Указывает, что при необходимости браузер может синтезировать капитель.
-
position - Указывает, что при использовании
font-variant-positionбраузер при необходимости может синтезировать подстрочные и надстрочные символы.
Описание
Большинство стандартных западных шрифтов включают курсивное и жирное начертания, а некоторые — капитель и варианты для подстрочных и надстрочных символов. Однако многие шрифты их не имеют. Шрифты для китайского, японского, корейского и других логографических систем письма обычно не содержат таких вариантов, а их синтез может ухудшить разборчивость или изменить смысл текста. В таких случаях может быть желательно отключить синтез шрифтов, включённый в браузере по умолчанию.
Например, используя псевдокласс :lang(), можно запретить браузеру синтезировать жирное и наклонное начертания для определённого языка — в данном случае арабского:
*:lang(ar) {
font-synthesis: none;
}
В таблице ниже показано, как значение сокращённого свойства font-synthesis соответствует составляющим его свойствам полной записи.
| Значение font-synthesis | Значение font-synthesis-weight | Значение font-synthesis-style | Значение font-synthesis-small-caps | Значение font-synthesis-position |
|---|---|---|---|---|
none | none | none | none | none |
weight | auto | none | none | none |
style | none | auto | none | none |
small-caps | none | none | auto | none |
position | none | none | none | auto |
weight style | auto | auto | none | none |
weight small-caps | auto | none | auto | none |
weight position | auto | none | none | auto |
style small-caps | none | auto | auto | none |
style position | none | auto | none | auto |
weight style small-caps | auto | auto | auto | none |
weight style position | auto | auto | none | auto |
weight small-caps position | auto | none | auto | auto |
style small-caps position | none | auto | auto | auto |
weight style small-caps position | auto | auto | auto | auto |
Формальное определение
| Исходное значение | weight style small-caps position |
|---|---|
| Применяется к | всем элементам и тексту |
| Наследуется | да |
| Вычисленное значение | как задано |
| Тип анимации | дискретный |
Формальный синтаксис
font-synthesis =
none |
[ weight || style || small-caps || position]
Примеры
Отключение синтеза шрифтов
В этом примере показано поведение синтеза шрифтов по умолчанию в браузере и приведено сравнение с отключённым синтезом. Обратите внимание, что в примере для демонстрации этого поведения используются два импортированных шрифта. Возможно, отключить синтез шрифтов для шрифтов, доступных по умолчанию в вашей операционной системе, не получится.
HTML
<pre> DEFAULT </pre> <p class="english"> This font supports <strong>bold</strong> and <em>italic</em>. </p> <p class="chinese">这个字体支持<strong>加粗</strong>和<em>斜体</em></p> <br /> <pre> SYNTHESIS IS DISABLED </pre> <p class="english no-syn"> This font supports <strong>bold</strong> and <em>italic.</em> </p> <p class="chinese no-syn">这个字体支持<strong>加粗</strong>和<em>斜体</em></p> <br /> <pre> SYNTHESIS IS ENABLED </pre> <p class="english"> This font supports <strong>bold</strong> and <em>italic</em>. </p> <p class="chinese syn">这个字体支持<strong>加粗</strong>和<em>斜体</em></p>
CSS
@import "https://fonts.googleapis.com/css2?family=Montserrat&display=swap";
@import "https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&display=swap";
.english {
font-family: "Montserrat", sans-serif;
}
.chinese {
font-family: "Ma Shan Zheng", cursive;
}
.no-syn {
font-synthesis: none;
}
.syn {
font-synthesis: style weight;
}
Результат
Спецификации
| Спецификация |
|---|
| Модуль шрифтов CSS, уровень 4 # font-synthesis |
Совместимость с браузерами
| Настольные компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari в iOS | Samsung Internet | WebView для Android | WebView в iOS | |
font-synthesis |
97 |
97 |
34 |
83 |
9 |
97 |
34 |
68 |
9 |
18.0 |
97 |
9 |
none |
97 |
97 |
34 |
83 |
9 |
97 |
34 |
68 |
9 |
18.0 |
97 |
9 |
position |
Нет |
Нет |
118 |
Нет |
Нет |
Нет |
118 |
Нет |
Нет |
Нет |
Нет |
Нет |
small-caps |
97 |
97 |
93 |
83 |
10.1 |
97 |
93 |
68 |
10.3 |
18.0 |
97 |
10.3 |
style |
97 |
97 |
34 |
83 |
10.1 |
97 |
34 |
68 |
10.3 |
18.0 |
97 |
10.3 |
weight |
97 |
97 |
34 |
83 |
10.1 |
97 |
34 |
68 |
10.3 |
18.0 |
97 |
10.3 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/font-synthesis