Je suis en train de faire plusieurs inline
et inline-block
composants alignés verticalement dans un div
. Comment se fait-il que, span
dans cet exemple, insiste pour être poussé vers le bas? J'ai essayé les deux vertical-align:middle;
et vertical-align:top;
, mais rien ne change.
HTML:
<div>
<a></a><a></a>
<span>Some text</span>
</div>
CSS:
a {
background-color:#FFF;
width:20px;
height:20px;
display:inline-block;
border:solid black 1px;
}
div {
background:yellow;
vertical-align:middle;
}
span {
background:red;
}
RÉSULTAT:
html
css
vertical-alignment
Yarin
la source
la source
<a>
éléments contiennent du texte à l'intérieur voir ce lienRéponses:
vertical-align
s'applique aux éléments alignés, pas à leur élément parent. Pour aligner verticalement les enfants du div, procédez comme suit:Voir: http://jsfiddle.net/dfmx123/TFPx8/1186/
REMARQUE :
vertical-align
est relatif à la ligne de texte actuelle, pas à la hauteur totale du parentdiv
. Si vous vouliez que le parentdiv
soit plus grand et que les éléments soient toujours centrés verticalement, définissez la propriétédiv
'sline-height
au lieu de saheight
. Suivez le lien jsfiddle ci-dessus pour un exemple.la source
div
.vertical-align
est relatif à la ligne de texte actuelle, pas à l'élément parent. Pour que cela fonctionne comme vous le souhaitez, définissez le div auline-height
lieu de sonheight
.Donnez
vertical-align:top;
àa
&span
. Comme ça:Vérifiez ceci http://jsfiddle.net/TFPx8/10/
la source
Le simple fait de flotter les deux éléments vers la gauche permet d'obtenir le même résultat.
la source
inline-block
la seule solution.Pour affiner la position d'un
inline-block
élément, utilisez le haut et la gauche:Merci CSS-Tricks !
la source
translate
est également possible.