font-stretch
Baseline
Large disponibilité
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2017.
Note :
La propriété font-stretch a été renommée en font-width dans la spécification CSS Fonts (angl.). Pour préserver la compatibilité, la spécification conserve font-stretch comme un alias hérité de la propriété font-width.
La propriété CSS font-stretch permet de choisir entre la forme normale, condensée ou étendue d'une police.
Exemple interactif
font-stretch: condensed;
font-stretch: expanded;
font-stretch: ultra-expanded;
font-stretch: 50%;
font-stretch: 100%;
font-stretch: 150%;
<section class="default-example" id="default-example">
<p class="transition-all" id="example-element">
Londres. Le trimestre de la Saint-Michel vient de se terminer, et le Lord
Chancelier siège dans le Lincoln's Inn Hall. Un temps de novembre
implacable. Autant de boue dans les rues que si les eaux venaient tout juste
de se retirer de la surface de la terre, et il ne serait pas étonnant de
croiser un Mégalosaure, long d'une quarantaine de pieds, se dandinant comme
un lézard éléphantesque 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
/* Valeurs avec un mot-clé */
font-stretch: normal;
font-stretch: ultra-condensed;
font-stretch: extra-condensed;
font-stretch: condensed;
font-stretch: semi-condensed;
font-stretch: semi-expanded;
font-stretch: expanded;
font-stretch: extra-expanded;
font-stretch: ultra-expanded;
/* Valeurs en pourcentage */
font-stretch: 50%;
font-stretch: 100%;
font-stretch: 200%;
/* Valeurs globales */
font-stretch: inherit;
font-stretch: initial;
font-stretch: revert;
font-stretch: revert-layer;
font-stretch: unset;
Cette propriété peut être définie avec un seul mot-clé de type pourcentage (<percentage>).
Valeurs
normal-
Définit une fonte normalement condensée.
semi-condensed,condensed,extra-condensed,ultra-condensed-
Définit une fonte plus condensée que la normale,
ultra-condensedétant la plus condensée. semi-expanded,expanded,extra-expanded,ultra-expanded-
Définit une fonte plus étendue que la normale,
ultra-expandedétant la plus étendue. <percentage>-
Une valeur de type
<percentage>entre 50% et 200% qui permet de définir la largeur de la police. Les valeurs négatives ne sont pas autorisées pour cette propriété.
Correspondance entre les mots-clés et les valeurs numériques
Le tableau suivant indique les correspondances entre les valeurs sous la forme de mots-clés et celles exprimées en pourcentages :
| 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 polices possèdent différentes fontes pour lesquelles les caractères sont plus étroits (fontes condensées) et d'autres pour lesquelles les caractères sont plus amples (fontes étendues).
font-stretch permet de choisir entre les versions condensées ou étendues d'une police. Si la police utilisée ne possède pas de fonte utilisant cet axe de variation, elle n'aura aucun effet.
Sélection de la fonte
La fonte sélectionnée pour une valeur donnée de font-stretch dépend des fontes prises en charge par la police en question. Si la police ne fournit pas de fonte correspondant exactement à la valeur donnée, les valeurs inférieures à 100% correspondent à une fonte condensée, et les valeurs supérieures ou égales à 100% correspondent à une fonte étendue.
Le tableau ci-dessous illustre l'effet de la définition de différentes valeurs en pourcentage de font-stretch sur deux polices différentes :
- Inconsolata (angl.) est une police variable qui propose une plage continue de largeurs de 50% à 200%.
- Anek Malayalam (angl.) est une police variable Google qui prend en charge des largeurs de 75% à 125%. Les valeurs en dehors de cette plage sélectionnent la fonte la plus proche.
Définition formelle
| Valeur initiale | normal |
|---|---|
| Applicabilité | tous les éléments et le texte. S'applique aussi à ::first-letter et ::first-line. |
| Héritée | oui |
| Valeur calculée | comme défini |
| Type d'animation | par type de valeur calculée |
Syntaxe formelle
font-stretch =
normal |
<percentage [0,∞]> |
ultra-condensed |
extra-condensed |
condensed |
semi-condensed |
semi-expanded |
expanded |
extra-expanded |
ultra-expanded
Exemples
>Définir les pourcentages d'étirement de police
<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>
@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-stretch: 50%;
}
.normal {
font-stretch: 100%;
}
.expanded {
font-stretch: 200%;
}
Spécifications
| Spécification |
|---|
| CSS Fonts Module Level 4> # font-stretch-prop> |
Compatibilité des navigateurs
Voir aussi
- Le descripteur
font-stretchpour@font-face - La propriété
font-widthmoderne, remplaçantfont-stretch - La propriété
font-style - La propriété
font-weight - L'attribut SVG
font-stretch - Apprendre : Mise en forme fondamentale du texte et des polices
- Le module de polices CSS