1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
|
---
title: vertical-align
slug: Web/CSS/vertical-align
tags:
- CSS
- Propriété
- Reference
translation_of: Web/CSS/vertical-align
---
<div>{{CSSRef}}</div>
<p>La propriété <strong><code>vertical-align</code></strong> définit l'alignement vertical d'une boîte en ligne (<em>inline</em>) ou d'une cellule de tableau.</p>
<div>{{EmbedInteractiveExample("pages/css/vertical-align.html")}}</div>
<div class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</div>
<p>La propriété <code>vertical-align</code> peut être utilisée dans deux contextes :</p>
<ul>
<li>Afin d'aligner verticalement la boîte d'un élément en ligne à l'intérieur de la boîte en ligne de son conteneur (par exemple pour aligner verticalement une image ({{HTMLElement("img")}} sur une ligne de texte)</li>
<li>ou pour aligner verticalement le contenu d'une cellule dans un tableau</li>
</ul>
<p><code>vertical-align</code> ne s'applique qu'aux cellules de tableaux et aux éléments en ligne (<em>inline</em>), elle ne peut pas être utilisée pour aligner verticalement <a href="/fr/docs/Web/HTML/Éléments_en_bloc">les éléments de bloc</a>.</p>
<h2 id="Syntaxe">Syntaxe</h2>
<pre class="brush: css no-line-numbers">/* Avec un mot-clé */
vertical-align: baseline;
vertical-align: sub;
vertical-align: super;
vertical-align: text-top;
vertical-align: text-bottom;
vertical-align: middle;
vertical-align: top;
vertical-align: bottom;
/* Valeurs de longueur */
/* type <length> */
vertical-align: 10em;
vertical-align: 4px;
/* Valeurs en pourcentage */
/* type <percentage> */
vertical-align: 20%;
/* Valeurs globales */
vertical-align: inherit;
vertical-align: initial;
vertical-align: unset;
</pre>
<h3 id="Valeurs">Valeurs</h3>
<h4 id="Pour_les_éléments_inline">Pour les éléments <em>inline</em></h4>
<div class="note">
<p><strong>Note :</strong> La plupart des valeurs alignent l'élément verticalement, relativement à son élément parent.</p>
</div>
<dl>
<dt><code>baseline</code></dt>
<dd>Aligne la ligne de base de l'élément avec celle de son parent. La ligne de base de certains <a href="/fr/docs/Web/CSS/Élément_remplacé">éléments remplacés</a>, comme {{HTMLElement("textarea")}}, n'est pas définie par la spécification HTML et le comportement de ce mot-clé peut donc changer d'un navigateur à un autre.</dd>
<dt><code>sub</code></dt>
<dd>Aligne la ligne de base sur la ligne de base inférieure (celle utilisée pour les indices) de l'élément parent.</dd>
<dt><code>super</code></dt>
<dd>Aligne la ligne de base sur la ligne de base supérieure (celle utilisée pour les exposants) de l'élément parent.</dd>
<dt><code>text-top</code></dt>
<dd>Aligne le haut de l'élément avec le haut de la police de l'élément parent.</dd>
<dt><code>text-bottom</code></dt>
<dd>Aligne le bas de l'élément avec le bas de la police de l'élément parent.</dd>
<dt><code>middle</code></dt>
<dd>Aligne le milieu de l'élément avec la hauteur donnée par la ligne de base de l'élément parent à laquelle on ajoute la moitié de sa hauteur.</dd>
<dt>{{cssxref("<length>")}}</dt>
<dd>Aligne la ligne de base de l'élément à la hauteur de la ligne de base de l'élément parent à laquelle on ajoute la hauteur donnée. Les valeurs négatives sont autorisées.</dd>
<dt>{{cssxref("<percentage>")}}</dt>
<dd>Fonctionne comme avec les valeurs de type {{cssxref("<length>")}}, le pourcentage indique une fraction de la propriété {{cssxref("line-height")}}. Les valeurs négatives sont autorisées.</dd>
</dl>
<p>Les valeurs suivantes alignent l'élément par rapport à la ligne entière (absolu) plutôt que par rapport à leur parent (relatif) :</p>
<dl>
<dt><code>top</code></dt>
<dd>Aligne le haut de l'élément et de ses descendants avec le haut de la ligne entière.</dd>
<dt><code>bottom</code></dt>
<dd>Aligne le bas de l'élément et de ses descendants avec le bas de la ligne entière.</dd>
</dl>
<p>Pour les éléments qui n'ont pas de ligne de base définie, c'est le bord de la marge basse qui est utilisée.</p>
<h4 id="Pour_les_cellules_de_tableau">Pour les cellules de tableau</h4>
<dl>
<dt><code>baseline</code>, <code>sub</code>, <code>super</code>, <code>text-top</code>, <code>text-bottom</code>, <code><length></code> et <code><percentage></code></dt>
<dd>La ligne de base de la cellule est alignée avec celle de toutes les autres cellules de la ligne courante qui sont alignées par rapport à la ligne de base. Les valeurs négatives sont autorisées.</dd>
<dt><code>top</code></dt>
<dd>Aligne le bord haut de la boîte de remplissage (<em>padding</em>) de la cellule avec le haut de la ligne.</dd>
<dt><code>middle</code></dt>
<dd>Centre la boîte de remplissage (<em>padding</em>) de la cellule avec la ligne.</dd>
<dt><code>bottom</code></dt>
<dd>Aligne le bord bas de la boîte de remplissage (<em>padding</em>) avec le bas de la ligne.</dd>
</dl>
<h3 id="Syntaxe_formelle">Syntaxe formelle</h3>
<pre class="syntaxbox">{{csssyntax}}</pre>
<h2 id="Exemple">Exemple</h2>
<h4 id="HTML">HTML</h4>
<pre class="brush: html"><div>
Une <img src="https://mdn.mozillademos.org/files/12245/frame_image.svg" alt="une icone générique" width="32" height="32" />
image alignée par défaut.
</div>
<div>
Une <img class="haut" src="https://mdn.mozillademos.org/files/12245/frame_image.svg" alt="link" width="32" height="32" />
image alignée avec text-top.
</div>
<div>
Une <img class="bas" src="https://mdn.mozillademos.org/files/12245/frame_image.svg" alt="link" width="32" height="32" />
image alignée avec text-bottom.</div>
<div>
Une <img class="pourcents" src="https://mdn.mozillademos.org/files/12245/frame_image.svg" alt="link" width="32" height="32" />
image alignée avec 200%.
</div>
</pre>
<h4 id="CSS">CSS</h4>
<pre class="brush: css">img.haut {
vertical-align: text-top;
}
img.bas {
vertical-align: text-bottom;
}
img.pourcents {
vertical-align: 200%;
}
</pre>
<h4 id="Résultat">Résultat</h4>
<p>{{EmbedLiveSample("Exemple")}}</p>
<h2 id="Spécifications">Spécifications</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">Spécification</th>
<th scope="col">État</th>
<th scope="col">Commentaires</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName('CSS3 Transitions', '#animatable-css', 'vertical-align')}}</td>
<td>{{Spec2('CSS3 Transitions')}}</td>
<td><code>vertical-align</code> peut désormais être animée.</td>
</tr>
<tr>
<td>{{SpecName('CSS2.1', 'visudet.html#propdef-vertical-align', 'vertical-align')}}</td>
<td>{{Spec2('CSS2.1')}}</td>
<td>Ajoute la valeur {{cssxref("<length>")}} et permet d'appliquer la propriété aux éléments dont {{cssxref("display")}} est de type <code>table-cell</code>.</td>
</tr>
<tr>
<td>{{SpecName('CSS1', '#vertical-align', 'vertical-align')}}</td>
<td>{{Spec2('CSS1')}}</td>
<td>Définition initiale.</td>
</tr>
</tbody>
</table>
<p>{{cssinfo}}</p>
<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div>
<p>{{Compat("css.properties.vertical-align")}}</p>
<h2 id="Voir_aussi">Voir aussi</h2>
<ul>
<li>{{cssxref("line-height")}}, {{cssxref("text-align")}}, {{cssxref("margin")}}</li>
<li><a href="https://phrogz.net/css/vertical-align/index.html">Comprendre <code>vertical-align</code> ou comment (ne pas) centrer des éléments verticalement</a> (en anglais)</li>
<li><a href="https://christopheraue.net/design/vertical-align">Tout ce qu'il y a à savoir sur <code>vertical-align</code></a> (en anglais)</li>
<li><a href="/fr/docs/Web/CSS/Disposition_flexbox_CSS/Cas_utilisation_flexbox#Centrer_des_éléments">Centrer des éléments avec <em>flexbox</em></a></li>
</ul>
|