Spec-Zone.ru › CSS

Свойство CSS `font-width`

Baseline Ограниченная доступность

Эта функция не входит в Baseline, поскольку не работает в некоторых наиболее популярных браузерах.

Примечание: Свойство font-width — современная замена font-stretch, которое является устаревшим псевдонимом. Хотя font-width — предпочтительное название согласно спецификации, font-stretch в настоящее время поддерживается большим числом браузеров. Подробности см. в примере резервного варианта и в таблице совместимости с браузерами.

Свойство font-width CSS выбирает обычное, узкое или широкое начертание шрифта.

Попробуйте

font-width: condensed;
font-width: expanded;
font-width: ultra-expanded;
font-width: 50%;
font-width: 100%;
font-width: 150%;
<section class="default-example" id="default-example">
  <p class="transition-all" id="example-element">
    London. Michaelmas term lately over, and the Lord Chancellor sitting in
    Lincoln's Inn Hall. Implacable November weather. As much mud in the streets
    as if the waters had but newly retired from the face of the earth, and it
    would not be wonderful to meet a Megalosaurus, forty feet long or so,
    waddling like an elephantine lizard up Holborn Hill.
  </p>
</section>
@font-face {
  src: url("/shared-assets/fonts/LeagueMono-VF.ttf") format("truetype");
  font-family: "League";
  font-style: normal;
  font-weight: normal;
}

section {
  font-size: 1.2em;
  font-family: "League", sans-serif;
}

Синтаксис

/* Keyword values */
font-width: normal;
font-width: ultra-condensed;
font-width: extra-condensed;
font-width: condensed;
font-width: semi-condensed;
font-width: semi-expanded;
font-width: expanded;
font-width: extra-expanded;
font-width: ultra-expanded;

/* Percentage values */
font-width: 50%;
font-width: 100%;
font-width: 200%;

/* Global values */
font-width: inherit;
font-width: initial;
font-width: revert;
font-width: revert-layer;
font-width: unset;

Значения

Это свойство задаётся одним значением из следующего списка:

normal
Задаёт обычное начертание с нормальной шириной.
semi-condensed, condensed, extra-condensed, ultra-condensed
Задаёт начертание уже обычного, при этом ultra-condensed — самое узкое.
semi-expanded, expanded, extra-expanded, ultra-expanded
Задаёт начертание шире обычного, при этом ultra-expanded — самое широкое.
<percentage>
Значение <percentage> в диапазоне от 50% до 200% включительно. Отрицательные значения для этого свойства недопустимы.

Соответствие ключевых слов числовым значениям

В таблице ниже показано соответствие ключевых слов и числовых значений в процентах:

Ключевое слово Процент
ultra-condensed 50%
extra-condensed 62.5%
condensed 75%
semi-condensed 87.5%
normal 100%
semi-expanded 112.5%
expanded 125%
extra-expanded 150%
ultra-expanded 200%

Описание

Некоторые семейства шрифтов имеют дополнительные начертания, в которых символы уже, чем в обычном начертании (узкие начертания), или шире, чем в обычном (широкие начертания).

С помощью font-width можно выбрать узкое или широкое начертание таких шрифтов. Если используемый шрифт не имеет узких или широких начертаний, это свойство не оказывает никакого эффекта.

Выбор начертания шрифта

Выбор начертания для заданного значения font-width зависит от начертаний, поддерживаемых соответствующим шрифтом. Если шрифт не предоставляет начертание, точно соответствующее заданному значению, значения меньше 100% выбирают узкое начертание, а значения, равные или превышающие 100%, — широкое.

В таблице ниже показан эффект задания различных процентных значений font-width для двух разных шрифтов:

@font-face {
  font-family: "Inconsolata";
  src: url("https://fonts.gstatic.com/s/inconsolata/v31/QlddNThLqRwH-OJ1UHjlKENVzlm-WkL3GZQmAwPyya15.woff2")
    format("woff2");
}

@font-face {
  font-family: "Anek Malayalam";
  src: url("https://fonts.gstatic.com/s/anekmalayalam/v4/6qLUKZActRTs_mZAJUZWWkhke0nYa-f6__Azq3-gP1W7db9_.woff2")
    format("woff2");
}

body {
  font-family: system-ui;
}

table {
  border-collapse: collapse;
  width: 100%;
}

tbody th {
  text-align: right;
}

th,
td {
  padding: 0.25rem;
  font-weight: normal;
  text-align: center;
}

td {
  border: solid;
  border-width: 1px;
  font-size: 5rem;
}

.inconsolata {
  font-family: "Inconsolata", sans-serif;
}

.anek-malayalam {
  font-family: "Anek Malayalam", sans-serif;
}

td:nth-child(2) {
  font-width: 50%;
}
td:nth-child(3) {
  font-width: 62.5%;
}
td:nth-child(4) {
  font-width: 75%;
}
td:nth-child(5) {
  font-width: 87.5%;
}
td:nth-child(6) {
  font-width: 100%;
}
td:nth-child(7) {
  font-width: 112.5%;
}
td:nth-child(8) {
  font-width: 125%;
}
td:nth-child(9) {
  font-width: 150%;
}
td:nth-child(10) {
  font-width: 200%;
}
<table>
  <thead>
    <tr>
      <th scope="row"></th>
      <th scope="col">50%</th>
      <th scope="col">62.5%</th>
      <th scope="col">75%</th>
      <th scope="col">87.5%</th>
      <th scope="col">100%</th>
      <th scope="col">112.5%</th>
      <th scope="col">125%</th>
      <th scope="col">150%</th>
      <th scope="col">200%</th>
    </tr>
  </thead>
  <tbody>
    <tr class="inconsolata">
      <th scope="row">Inconsolata</th>
      <td>e</td>
      <td>e</td>
      <td>e</td>
      <td>e</td>
      <td>e</td>
      <td>e</td>
      <td>e</td>
      <td>e</td>
      <td>e</td>
    </tr>
    <tr class="anek-malayalam">
      <th scope="row">Anek Malayalam</th>
      <td>e</td>
      <td>e</td>
      <td>e</td>
      <td>e</td>
      <td>e</td>
      <td>e</td>
      <td>e</td>
      <td>e</td>
      <td>e</td>
    </tr>
  </tbody>
</table>

На следующем снимке экрана показано, как отображается приведённая выше таблица, если ваш браузер не поддерживает свойство font-width:

A two-row comparison table showing the lowercase letter e rendered at different widths (50%, 62.5%, 75%, 87.5%, 100%, 112.5%, 125%, 150%, 200%). The top row is labeled Inconsolata and the bottom row Anek Malayalam. Both fonts are sans-serif and Inconsolata's letters are slightly wider compared to Anek Malayalam's.

  • Inconsolata — вариативный шрифт с непрерывным диапазоном ширины от 50% до 200%.
  • Anek Malayalam — вариативный шрифт Google, поддерживающий ширину от 75% до 125%. При значениях за пределами этого диапазона выбирается ближайший подходящий шрифт.

Формальное определение

Исходное значение normal
Применяется к всем элементам и тексту
Наследуется да
Вычисленное значение percentage
Тип анимации по типу вычисленного значения

Формальный синтаксис

font-width = 
  normal |
  <percentage [0,∞]> |
  ultra-condensed |
  extra-condensed |
  condensed |
  semi-condensed |
  semi-expanded |
  expanded |
  extra-expanded |
  ultra-expanded

Примеры

Задание ширины шрифта в процентах

<p class="condensed">an elephantine lizard</p>
<p class="normal">an elephantine lizard</p>
<p class="expanded">an elephantine lizard</p>
@font-face {
  src: url("/shared-assets/fonts/LeagueMono-VF.ttf") format("truetype");
  font-family: "LeagueMonoVariable";
  font-style: normal;
}

p {
  font:
    1.5rem "LeagueMonoVariable",
    sans-serif;
}

.condensed {
  font-width: 50%;
}

.normal {
  font-width: 100%;
}

.expanded {
  font-width: 200%;
}

Добавление резервного варианта font-stretch

Поскольку font-width пока не поддерживается широким кругом браузеров, в качестве резервного варианта можно добавить устаревшее свойство font-stretch. Разместите font-stretch перед font-width, чтобы браузеры с поддержкой использовали современное свойство:

p {
  font-stretch: condensed; /* for browsers that don't support font-width */
  font-width: condensed;
}

Примечание: Этот шаблон резервного варианта можно автоматизировать с помощью плагина postcss-preset-env для PostCSS, который включает трансформацию postcss-font-width-property, автоматически преобразующую свойства font-width в font-stretch.

Спецификации

Спецификация
CSS Fonts Module Level 4
# propdef-font-width

Совместимость с браузерами

Настольные компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari для iOS Samsung Internet WebView для Android WebView для iOS
font-width
Нет
Нет
155
Нет
18.4
Нет
155
Нет
18.4
Нет
Нет
18.4
condensed
Нет
Нет
155
Нет
18.4
Нет
155
Нет
18.4
Нет
Нет
18.4
expanded
Нет
Нет
155
Нет
18.4
Нет
155
Нет
18.4
Нет
Нет
18.4
extra-condensed
Нет
Нет
155
Нет
18.4
Нет
155
Нет
18.4
Нет
Нет
18.4
extra-expanded
Нет
Нет
155
Нет
18.4
Нет
155
Нет
18.4
Нет
Нет
18.4
normal
Нет
Нет
155
Нет
18.4
Нет
155
Нет
18.4
Нет
Нет
18.4
percentage
Нет
Нет
155
Нет
18.4
Нет
155
Нет
18.4
Нет
Нет
18.4
semi-condensed
Нет
Нет
155
Нет
18.4
Нет
155
Нет
18.4
Нет
Нет
18.4
semi-expanded
Нет
Нет
155
Нет
18.4
Нет
155
Нет
18.4
Нет
Нет
18.4
ultra-condensed
Нет
Нет
155
Нет
18.4
Нет
155
Нет
18.4
Нет
Нет
18.4
ultra-expanded
Нет
Нет
155
Нет
18.4
Нет
155
Нет
18.4
Нет
Нет
18.4

См. также

  • font-width — дескриптор для @font-face
  • Устаревшее свойство-псевдоним font-stretch, поддерживаемое большим числом браузеров
  • font-style — свойство
  • font-weight — свойство
  • Атрибут SVG font-width
  • Атрибут SVG font-stretch
  • Изучение: основы оформления текста и шрифтов
  • Шрифты CSS — модуль

© 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-width

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API