Comment verticalement au moyen d'aligner les éléments flottants de l'inconnu heights?
J'ai un (horizontalement) centré div extérieure contenant les deux éléments de l'inconnu largeur:
<div style='width:800px; margin:0 auto'>
<div style='float:left'>...</div>
<div style='float:right'>...</div>
</div>
Les deux flotteurs sont alignée en haut par défaut, et sont de diverses/inconnu et de hauteurs différentes. Est-il possible de les rendre centrée verticalement?
J'ai finalement fait le div extérieure
display: table
et l'intérieur divs
display: table-cell;
vertical-align: middle;
text-align: left/right;
mais je suis juste curieux de savoir si il existe un moyen de le faire avec les flotteurs.
- vertical aligner en html/css est au-delà de laid, et la principale source de mes douleurs envie de gifler l'ensemble du W3C autour avec un cadavre en décomposition d'IE6, puis de les nourrir de ce cadavre.
- Vous n'êtes pas la seule, mais c'est ce que nous avons à travailler avec....
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas le faire directement, car flotteurs sont alignés vers le haut:
L'exacte les règles dire (l'emphase est mienne):
Cela dit, vous pouvez profiter de la règle n ° 4:
display: inline-block
.vertical-align
pour aligner ces wrapper verticalement.Être conscient que l'espace pourrait apparaître entre les inline-block wrappers. Voir Comment faire pour supprimer l'espace entre les inline-block éléments? pour le fixer.
CSS:
HTML:
width:49%;
même sans flotteur div cela va fonctionner.float: right
fait ici est de justifier à droite de la BHE au contenu. c'est ledisplay: inline-block
etvertical-align: middle
qui ne fait le centrage. ce n'est pas vraiment à la verticale de centrage flottait contenu à tous.text-align: right
de cette façon, le div hauteur sera une partie du flux de la page w/out à l'aide d'un clearfix.height: 100%
etvertical-align: middle
(centrage dans l'inconnu technique).Une autre approche serait d'utiliser
flex
-- il pourrait être un remplacement pour unfloat
si vous avez deux parties. Un (flottant) serait de l'auto de taille, et la seconde à occuper toute la caisse. Sur l'axe transversal vous choisissezcenter
et le tour est joué, vous avez la effet de la flotte et centrée éléments.Ici est magnifique triche sur flex: http://jonibologna.com/flexbox-cheatsheet/
Nan c'est lorsque les cellules du tableau semblent soudain comme une grande idée. Si c'est une hauteur fixe, vous pouvez utiliser la hauteur de la ligne.