Vertical-align - Propriété CSS

vertical-align

Résumé des caractéristiques de la propriété vertical-align

Description rapide
Alignement vertical.
Statut
Standard
Utilisable sur
HTML
Valeurs prédéfinies
baseline | bottom | top | middle | text-bottom | text-top | central | mathematical | ideographic | center | sub | super
Pourcentages
Calculés par rapport à la hauteur de ligne.
Valeur initiale
baseline
Héritée par défaut
Non.
Type d'animation
Voir les propriétés individuelles.
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 de la syntaxe de vertical-align.

vertical-align - Syntax DiagramSyntax diagram of the vertical-align CSS property. baseline baseline sub sub super super top top text-top text-top middle middle bottom bottom text-bottom text-bottom length length % %vertical-align:;vertical-align:;
Schéma syntaxique de la propriété vertical-align.
Cliquez sur les liens du schéma pour plus de précisons sur les valeurs.

Sur le schéma, les termes en gras sont les mots prédéfinis de CSS, les autres termes sont décrits ci-dessous :

  • length est une valeur numérique suivie d'une des unités de dimension (la plupart du temps une unité relative à la taille des caractères).
  • % est un pourcentage calculé par rapport à la hauteur de la ligne.

Description de la propriété vertical-align.

La propriété vertical-align définit l'alignement vertical d'un élément. Cette propriété peut être utilisée notamment pour gérer l'alignement vertical du texte dans une cellule de tableau ou positionner les éléments les uns par rapport aux autres sur une même ligne de texte (éléments inline).

Dans ce dernier cas, voici comment interpréter les différentes valeurs :

CSS Vertical-Align

Une curiosité.

Lorsque la ligne comporte des éléments de tailles différentes, ou lorsque la hauteur de ligne est fixée, le comportement de la valeur text-top est inattendu : dans l'exemple ci-dessous, le troisième élément ne semble pas du tout aligné sur le haut du texte. La raison est que text-top aligne par rapport au haut du texte de l'élément lui-même, et non pas par rapport au haut du texte le plus grand. Dans l'exemple ci-dessous le trait rouge matérialise le haut de ligne.

Apb   aligné sur top   aligné sur text-top

Nouvelle définition de vertical-align.

Le niveau 3 de la spécification CSS Inline Layout Module Level 3 donne une nouvelle définition pour la propriété vertical-align. Celle-ci est maintenant définie comme une propriété résumée équivalente aux propriétés suivantes :

Cette nouvelle définition est encore à l'étude : la compatibilité des navigateurs avec ces trois nouvelles propriétés est encore incertaine.
vertical-align - Syntax DiagramSyntax diagram of the vertical-align CSS property. first first last last baseline baseline text-bottom text-bottom alphabetic alphabetic ideographic ideographic middle middle central central mathematic mathematic text-top text-top sub sub super super top top center center bottom bottom length / % length / %vertical-align:;vertical-align:;
Schéma syntaxique de la propriété vertical-align.
Niveau 3 de la spécification CSS Inline Layout Module.

Voici à quoi correspondent ces lignes :

  • alphabetic : utilisées dans les langues latines, grecques, cyrillique, etc, cette ligne de base correspond au bas des principales lettres.
    Ligne de base alphabetic
  • cap-height : correspond au sommet des lettre majuscules en latin, cyrillique, grec et quelques autre languages.

    Ligne de base cap-height
  • x-height : correspond au sommet des lettre minuscules (comme le x, dans les langues latine, cyrillique, grecque, etc.

    Ligne de base x-height
  • x-middle : correspond au milieu de la lettre x, autrement dit c'est une ligne située à égale distance de la ligne alphabetic et de la ligne x-height dans les langues latine, cyrillique, grecque, etc.

    Ligne de base x-middle
  • ideographic-under et ideographic-over : correspond aux lignes de base et de sommet pour les caractères CJK.

    Ligne de base ideographic-under et ideographic-over
  • central : correspond à une ligne située à étale distance entre ideographic-under et ideographic-over.

    Ligne de base central
  • hanging : correspond à la ligne sur laquelle les caractères tibétains semble suspendus.

    Ligne de base hanging
  • math : correspond à la ligne de base centrale autour de laquelle les caractères mathématiques sont construits.
     
  • text-over et text-under: correspond à la ligne au dessus et en dessous d'une boîte inline.
     

Valeurs pour vertical-align.

Dans tous les exemples qui suivent, les éléments bleus sont alignés avec vertical-align. L'élément Aa noir sert de référence.
Les nouvelles valeurs introduites dans le niveau 3 de la spécification, ne sont pas encore listées.

  • vertical-align: baseline;

    Valeur par défaut pour l'alignement des balises inline.
    La ligne de base de l'élément est alignée sur la ligne de base du parent.

    Si l'élément n'a pas de ligne de base, c'est à dire s'il ne contient pas de texte, comme une image par exemple, c'est le bas de l'élément qui sert pour l'alignement.

    Rappel : la ligne de base du texte si situe au bas des lettres sans jambage.

    Définition de la ligne de base (baseline)

    Aa Aa Exemple pour un alignement sur baseline Exemple pour un alignement sur baseline Exemple pour un alignement sur baseline
    Cellule de tableau
  • vertical-align: top;

    Éléments inline : le haut de l'élément est aligné sur le haut du parent.
    Cellules de tableau : le contenu est positionné en haut de la cellule.

    Aa Aa Exemple pour un alignement sur top Exemple pour un alignement sur top Exemple pour un alignement sur top
    Cellule de tableau
  • vertical-align: middle;

    Éléments inline : aligne le milieu de l'élément (dans le sens vertical) avec la ligne de base du texte + une demie hauteur des minuscules.
    Autrement dit, l'élément est centré verticalement par rapport aux minuscules.

    Alignement par le milieu

    Cellules de tableau : le contenu est positionné au milieu de la cellule. C'est la valeur par défaut pour l'alignement des cellules.

    Aa Aa Exemple pour un alignement sur middle Exemple pour un alignement sur middle Exemple pour un alignement sur middle
    Cellule de tableau
  • vertical-align: bottom;

    Éléments inline : le bas de l'élément est aligné sur le bas du parent.
    Cellules de tableau : le contenu est positionné en bas de la cellule.

    Aa Aa Exemple pour un alignement sur bottom Exemple pour un alignement sur bottom Exemple pour un alignement sur bottom
    Cellule de tableau
  • vertical-align: text-top;

    Éléments inline : l'alignement se fait sur le haut du texte.
    Cellules de tableau : valeur non gérée.

    Aa Aa Exemple pour un alignement sur text-top Exemple pour un alignement sur text-top Exemple pour un alignement sur text-top
  • vertical-align: text-bottom;

    Éléments inline : l'alignement se fait sur le bas du texte.
    Cellules de tableau : valeur non gérée.

    Aa Aa Exemple pour un alignement sur text-bottom Exemple pour un alignement sur text-bottom Exemple pour un alignement sur text-bottom
  • vertical-align: super;

    Éléments inline : la ligne de base de l'élément est positionnée comme un exposant du parent.
    Cellules de tableau : valeur non gérée.

    Aa Aa Exemple pour un alignement sur super Exemple pour un alignement sur super Exemple pour un alignement sur super
  • vertical-align: sub;

    Éléments inline :la ligne de base de l'élément est positionnée comme un indice du parent.
    Cellules de tableau : valeur non gérée.

    Aa Aa Exemple pour un alignement sur sub Exemple pour un alignement sur sub Exemple pour un alignement sur sub
  • vertical-align: 0.2em;

    Éléments inline : l'élément est déplacé de la valeur indiquée par rapport à la ligne de base du texte, vers le haut si la valeur est positive et vers le bas pour une valeur négative.
    Cellules de tableau : valeur non gérée.

    La valeur est un nombre positif ou négatif, suivi d'une unité de dimension (voir les unités de dimension). S'il s'agit d'un pourcentage, il est évalué d'après la hauteur de la ligne (line-height).

    Aa Aa Exemple pour un alignement sur une valeur Exemple pour un alignement sur une valeur Exemple pour un alignement sur une valeur
  • vertical-align: initial; (baseline) vertical-align: inherit; vertical-align: revert; vertical-align: revertLayer; vertical-align: unset;

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

Exemple d'animation de vertical-align.

Un petit exemple visuel utilisant l'animation de la propriété vertical-align sur une série d'images. Pour donner cette impression "désordonnée", les animations sur chacune des images ont des durées différentes et une direction différente également.

Pour que l'amplitude des mouvements soit plus grande, la taille des caractères a été fixée à 2rem.

Animation de vertical-align Animation de vertical-align Animation de vertical-align Animation de vertical-align Animation de vertical-align

Exemple interactif avec la propriété vertical-align.

vertical-align :
Alignement vertical d'une balise span dans une ligne de texte.
Abp texte
Alignement vertical d'une image dans une ligne de texte.
Abp Alignement vertical avec vertical-align
Alignement vertical dans une cellule de tableau

Compatibilité des navigateurs avec vertical-align.

Le tableau des compatibilités ci-dessous concerne la syntaxe première de vertical-align. La nouvelle définition de cette propriété en tant que propriété résumée n'est pas encore traitée par les navigateurs (2024).

Colonne 1
Support de la propriété vertical-align pour aligner les blocs inline qui se suivent et pour aligner verticalement dans une cellule de tableau.
1
Propriété
vertical-align
Estimation de la prise en charge globale.
97%

Navigateurs sur ordinateurs :

Navigateurs sur mobiles :

Navigateurs obsolètes ou marginaux :

Chrome

Edge

Internet Explorer

Opéra

Firefox

QQ Browser

Safari

Safari sur IOS

Androïd Brower

Chrome pour Androïd

Firefox pour Androïd

Opéra Mobile

Baidu Browser

KaiOS Browser

UC Browser pour Androïd

Samsung Internet

Opéra mini

Histoire de la propriété vertical-align.

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 à l'alignement vertical, et à la disposition en ligne des éléments, que ce soit dans un objet SVG ou dans un document HTML. La propriété vertical-align 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.
line-height
Définit la hauteur des lignes de texte.
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).