Line-height - Propriété CSS

line-height

Résumé des caractéristiques de la propriété line-height

Description rapide
Définit la hauteur des lignes de texte.
Statut
Standard
Utilisable sur
HTML
Valeurs prédéfinies
normal
Pourcentages
Calculés par rapport à la taille des caractères.
Valeur initiale
normal
Héritée par défaut
Oui.
Type d'animation
Discrète : lors d'une animation, la propriété line-height passe d'une valeur à l'autre sans transition.
Module W3C
Module CSS - Mise en page en ligne
Références (W3C)
 🡇  
 🡅  
Statut du document: WD (document de travail)

Statut du document: REC (recommandation)

Statut du document: DEPR (Ancienne spécification, déclarée obsolète)

Schéma syntaxique de line-height.

line-height - Syntax DiagramSyntax diagram of the line-height CSS property. normal normal length / % length / % number numberline-height:;line-height:;
Schéma syntaxique de la propriété line-height
Exemples et syntaxe détaillée

Précisions concernant le schéma ci-dessus :

  • length est une valeur numérique, positive ou nulle, suivie d'une des unités de dimension.
  • % est un pourcentage calculé par rapport à la taille des caractères.
  • number est un nombre sans unité, positif ou nul.

Description de la propriété line-height.

line-height définit la hauteur des lignes de texte. La hauteur des lignes n'est pas égale à la taille des caractères : elle inclut en plus un espace au dessus et en dessous des lettres. Ceci afin que les lettres ne se touchent pas d'une ligne sur l'autre.

Comparaison entre line-height et font-size

Ces espaces, sortes de marges verticales, ont une valeur par défaut très variables d'une police de caractères à une autre.

Dans le cas où plusieurs tailles de caractères sont présentes sur la même ligne, la hauteur par défaut sera calculée par rapport à la taille des caractères les plus grands. Les exposants et les indices peuvent également provoquer une augmentation de la hauteur des lignes si cette dernière n'est pas fixée.

La hauteur de ligne est prise en compte par la propriété vertical-align pour le positionnement vertical d'éléments sur une même ligne.

Particularité de line-height au sujet de l'héritage.

La valeur de line-height peut être exprimée soit par un coefficient, soit par une pourcentage (voir le détail des syntaxes ci-dessous). On pourrait penser que 1.5 est équivalent à 150%. Ce sera vrai pour l'élément lui-même, mais pas pour les éléments qui héritent de la valeur de line-height.
En effet, le coefficient est hérité en tant que tel, il est donc recalculé pour chaque élément en fonction de la taille de la police. Le pourcentage par contre est hérité en tant que valeur calculée : le calcul n'est pas refait pour chacun des éléments qui héritent.
Les hauteurs de ligne exprimées dans une unité relative à la taille des caractères (em, ex, etc) s'héritent comme les pourcentages : le calcul est fait sur l'élément parent mais n'est pas refait pour chacun des éléments.

Ce texte a une hauteur
de ligne de 1.5
Ce texte hérite
de la hauteur de ligne
Ce texte a une hauteur
de ligne de 150%
Ce texte hérite
de la hauteur de ligne

Syntaxes pour line-height.

  • line-height: normal;

    Valeur par défaut. La hauteur des lignes de texte est adaptée à la taille des caractères.

  • line-height: 2;

    La hauteur des lignes de texte est déterminée par cette valeur.

    Il s'agit d'une valeur positive ou nulle, dans un des formats suivants :

    1. Une valeur suivie d'une des unités de dimension. Les unités relatives aux caractères, comme em sont particulièrement indiquées.
    2. Une valeur sans unité. Elle est alors traitée comme un coefficient : 1.5 signifiant une hauteur de ligne une fois et demi plus grande que la taille des caractères.
    3. Un pourcentage. Il sera calculé par rapport à la taille des caractères.

    Attention ! Ces différentes syntaxes pour exprimer la valeur auront un mécanisme d'héritage différent pour chacune d'elles. Voir notre remarque au sujet de l'héritage ci-dessus.

    Une hauteur de ligne entre 1.2 et 1.5 (120% à 150%) est généralement une valeur correcte.

Valeurs communes à toutes les propriétés :

line-height: initial (normal) line-height: inherit line-height: revert line-height: revertLayer line-height: unset

Les valeurs communes sont présentées sur ces pages : initial, inherit, revert, revert-layer, unset.

Animation de la propriété line-height.

La hauteur de ligne (line-height) s'anime sans problème, et avec un résultat assez fluide.

La hauteur de ligne d’un texte contribue beaucoup à sa lisibilité, notamment parce qu’elle influe sur la couleur typographique, c’est-à-dire l’aspect plus ou moins foncé du bloc de texte.

Exemple interactif avec la propriété line-height.

line-height :
CSS3 est « modulaire » : les navigateurs peuvent ainsi implémenter des sous-ensembles de CSS, en fonction de leurs besoins ou capacités.

Compatibilité avec les navigateurs.

Tous les navigateurs actuels traitent correctement la propriété line-height.

Colonne 1
Prise en charge par les navigateurs de la propriété line-height utilisée pour définir la hauteur de l'interligne.
1
Propriété
line-height
Estimation de la prise en charge globale.
96%

Navigateurs sur ordinateurs :

Navigateurs sur mobiles :

Navigateurs obsolètes ou marginaux :

Internet Explorer

KaiOS Browser

Opéra Mobile

Opéra

Firefox pour Androïd

Samsung Internet

Chrome

Edge

Firefox

Androïd Brower

Chrome pour Androïd

Baidu Browser

QQ Browser

Safari

Safari sur IOS

UC Browser pour Androïd

Opéra mini

Évolution de la propriété line-height.

La propriété line-height n'a pratiquement pas changé au fil des versions du langage CSS.

Voir aussi, concernant les dispositions en ligne.

Le module de spécification dénommé "Module CSS - Mise en page en ligne", ou CSS Inline Layout Module en anglais, définit ce qui est relatif à la disposition en ligne des éléments, que ce soit dans un objet SVG ou dans un document HTML. La propriété line-height est décrite dans ce module, ainsi que les propriétés suivantes :

Propriétés :

alignment-baseline
Définit comment un élément est aligné, dans le sens vertical, par rapport à son parent.
baseline-shift
baseline-source
Définit si l'alignment vertical d'un élément doit se faire par rapport à sa premère ou sa dernière ligne de texte.
dominant-baseline
Définit la ligne de base utilisée pour les alignements verticaux de textes.
initial-letter
Définit les paramètres des lettrines.
initial-letter-align
Spécifie le point à utiliser pour aligner la lettrine.
initial-letter-wrap
Définit comment le texte doit contourner les lettrines.
text-box-edge
Définit le métrique des textes CJK.
text-box-trim
Spécifie comment la réduction des dimensions d'une boîte de texte doit se faire pour se conformer à text-box-edge (langages CJK).
vertical-align
Alignement vertical.