Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

font-width

Disponibilité limitée

Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.

Expérimental: Il s'agit d'une technologie expérimentale.
Vérifiez attentivement le tableau de compatibilité des navigateurs avant de l'utiliser en production.

Note : La propriété font-width est le remplacement moderne de font-stretch, qui est un alias hérité. Bien que font-width soit le nom préféré dans la spécification, font-stretch bénéficie actuellement d'une compatibilité plus large avec les navigateurs. Consultez l'exemple de repli et le tableau de compatibilité des navigateurs pour plus de détails.

La propriété CSS font-width permet de sélectionner une variante normale, condensée ou étendue d'une police.

Exemple interactif

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">
    Londres. Le terme de Michaelmas récemment terminé, et le Lor Chancelier
    siégeant dans Lincoln's Inn Hall. Temps de novembre implacable. Autant de
    boue dans les rues comme si les eaux venaient tout juste de se retirer de la
    surface de la terre, et il ne serait pas étonnant de rencontrer un
    Mégalosaure, d'environ quarante pieds de long, se dandinant comme un lézard
    éléphantin sur 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;
}

Syntaxe

css
/* Valeurs avec un mot-clé */
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;

/* Valeurs en pourcentage */
font-width: 50%;
font-width: 100%;
font-width: 200%;

/* Valeurs globales */
font-width: inherit;
font-width: initial;
font-width: revert;
font-width: revert-layer;
font-width: unset;

Cette propriété peut être définie en utilisant un seul mot-clé ou une valeur <percentage>.

Values

normal

Définit une police normalement condensée.

semi-condensed, condensed, extra-condensed, ultra-condensed

Définit une police plus condensée que la normale, ultra-condensed étant la plus condensée.

semi-expanded, expanded, extra-expanded, ultra-expanded

Définit une police plus étendue que la normale, ultra-expanded étant la plus étendue.

<percentage>

Une valeur de type pourcentage (<percentage>) comprise entre 50 % et 200 % (inclus). Les valeurs négatives ne sont pas autorisées pour cette propriété.

Correspondance des mots-clés avec les valeurs numériques

Le tableau ci-dessous montre la correspondance entre les valeurs de mots-clés et les pourcentages numériques :

Mot-clé Pourcentage
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%

Description

Certaines familles de polices offrent des variantes supplémentaires dans lesquelles les caractères sont plus étroits que la variante normale (condensed) ou plus larges que la variante normale (expanded).

Vous pouvez utiliser font-width pour sélectionner une variante condensée ou étendue parmi ces polices. Si la police que vous utilisez n'offre pas de variantes condensées ou étendues, cette propriété n'a aucun effet.

Sélectionner la variante de police

La face sélectionnée pour une valeur donnée de font-width dépend des faces prises en charge par la police en question. Si la police ne fournit pas de face correspondant exactement à la valeur donnée, les valeurs inférieures à 100 % correspondent à une face condensée, et les valeurs supérieures ou égales à 100 % correspondent à une face étendue.

Le tableau ci-dessous montre l'effet de la définition de différentes valeurs en pourcentage de font-width sur deux polices différentes :

La capture d'écran suivante montre comment le tableau ci-dessus est rendu, au cas où votre navigateur ne prend pas en charge la propriété font-width :

Un tableau de comparaison à deux lignes montrant la lettre minuscule e rendue à différentes largeurs (50%, 62,5%, 75%, 87,5%, 100%, 112,5%, 125%, 150%, 200%). La ligne du haut est étiquetée Inconsolata et la ligne du bas Anek Malayalam. Les deux polices sont sans-serif et les lettres d'Inconsolata sont légèrement plus larges que celles d'Anek Malayalam.

  • Inconsolata (angl.) est une police variable qui offre une gamme continue de largeurs de 50 % à 200 %.
  • Anek Malayalam (angl.) est une police variable de Google qui prend en charge des largeurs de 75 % à 125 %. Les valeurs en dessous et au-dessus de cette plage sélectionnent la police la plus proche.

Définition formelle

Valeur initialenormal
Applicabilitétous les éléments et le texte. S'applique aussi à ::first-letter et ::first-line.
Héritéeoui
Valeur calculéepourcentage
Type d'animationpar type de valeur calculée

Syntaxe formelle

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

Exemples

Définir des pourcentages de largeur de police

html
<p class="condensed">un lézard éléphantesque</p>
<p class="normal">un lézard éléphantesque</p>
<p class="expanded">un lézard éléphantesque</p>
css
@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%;
}

Fournir un repli pour font-stretch

Parce que font-width n'est pas encore largement pris en charge par les navigateurs, vous pouvez inclure la propriété héritée font-stretch comme solution de repli. Placez font-stretch avant font-width afin que les navigateurs compatibles utilisent la propriété moderne :

css
p {
  font-stretch: condensed; /* pour les navigateurs qui ne prennent pas en charge font-width */
  font-width: condensed;
}

Note : Vous pouvez automatiser ce modèle de repli en utilisant le plugin postcss-preset-env (angl.) pour PostCSS, qui inclut la transformation postcss-font-width-property (angl.) pour convertir automatiquement les propriétés font-width en font-stretch.

Spécifications

Spécification
CSS Fonts Module Level 4
# propdef-font-width

Compatibilité des navigateurs

Voir aussi