Les éléments suivants fonctionneront en fonction de la création d'une hauteur de ligne équivalente pour les deux éléments.
HTML:
<div class="row">
<span class="left">Create new position</span>
<span class="right"><input type="button" value="Save" />
</div>
CSS:
/* REMOVE THIS PORTION FOR YOUR IMPLEMENTATION, IT IS EXAMPLE ONLY */
* { font-family: Tahoma, sans-serif; font-size: 12px; }
.row { border: 1px solid #ccc; }
/* END EXAMPLE ONLY PORTION */
.row { height: 24px; }
.row > span { line-height: 24px; }
.left { float: left; }
.right { float: right; }
L'astuce consiste à définir la .row
dire contenant DIV
être 24px
grands, et aussi définir les contenus SPAN
éléments pour avoir une line-height
de 24px
. En faisant cela, vous dites au navigateur combien d'espace vertical doit prendre pour la ligne de texte.
Notez, cependant, que 24px
n'est pas la partie importante - la partie importante est d'identifier la hauteur de votre button
, qui est basée sur votre CSS et votre police sélectionnée pour le bouton lui-même.
La raison pour laquelle l'exemple que je vous donne fonctionne pour centrer verticalement dans ce cas est basé sur le CSS EXAMPLE ONLY
que je mets en haut - qui dit que la taille de la police doit être 12px
. Le dimensionnement par défaut du navigateur (au moins dans Chrome) va alors fournir une marge supplémentaire et un rembourrage autour du bouton, ainsi qu'une bordure - qui donne une hauteur totale d'environ 24px
, et cette apparence:
La bordure est créée par l'exemple CSS également, et est seulement là pour vous montrer que l'alignement vertical est correct. Une fois que vous enlevez .row { border: 1px solid #ccc; }
, il disparaîtra.
Voici une JSBin qui montre fonctionner:
http://jsbin.com/otekil/1/edit
Si ma réponse vous a aidé, s'il vous plaît envisager de marquer comme « accepté » en cliquant sur la petite case sous son score. Si ce n'est pas le cas, faites-moi savoir quelles sont les informations dont vous avez besoin, afin que je puisse vous aider davantage. –