Comment aligner verticalement le texte avec l'image ?
P粉360266095
2023-08-27 12:45:29
<p>为什么 <code>alignement vertical : milieu</code> 不起作用?然而, <code>vertical-align: top</code> <em>确实</em>有效。</p>
<p><br /></p>
<pre class="brush:css;toolbar:false;">span{
alignement vertical : milieu ;
}</pré>
<pre class="brush:html;toolbar:false;"><div>
<img src="https://via.placeholder.com/30" alt="small img" />
<span>Ne fonctionne pas.</span>
</div></pre>
<p><br /></p>
Voici quelques techniques simples pour l'alignement vertical :
Alignement vertical sur une seule ligne : milieu
Celui-ci est simple : définissez la hauteur de ligne de l'élément de texte égale à la hauteur de ligne du conteneur
Alignement vertical multiligne : bas
Positionnez absolument le div interne par rapport à son conteneur
Alignement vertical multiligne : milieu
Si vous devez prendre en charge les anciennes versions d'IE
Pour que cela fonctionne pleinement, vous devrez apporter quelques modifications au CSS. Heureusement, il existe un bug d'IE qui joue en notre faveur. La définition de
top:50%
,在内部 div 上设置top:-50%
sur le conteneur donne le même résultat. Nous pouvons combiner les deux en utilisant une autre fonctionnalité qu'IE ne prend pas en charge : les sélecteurs CSS avancés.Hauteur du conteneur variable, alignement vertical : milieu
Cette solution nécessite un navigateur légèrement plus moderne que les autres solutions car elle utilise l'attribut
transform:translateY
. (http://caniuse.com/#feat=transforms2d)L'application des 3 lignes CSS suivantes à un élément le centrera verticalement au sein de son élément parent, quelle que soit la hauteur de l'élément parent :
En fait, dans ce cas, c'est très simple : appliquez un alignement vertical à l'image. Puisque tout est sur une seule ligne, vous alignez en fait l’image, pas le texte.