179 votes

CSS alignement vertical en ligne/inline-block éléments

Je vais essayer d'obtenir plusieurs inline et inline-block composants alignés verticalement dans un div. Comment se fait l' span dans cet exemple, insiste sur le fait d'ê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:
enter image description here

VIOLON

330voto

Diego Points 7661

vertical-align s'applique aux éléments alignés, pas de leur élément parent. Pour aligner verticalement le div de ses enfants, de faire ceci à la place:

div > * {
    vertical-align:middle;  // Align children to middle of line
}

Voir: http://jsfiddle.net/TFPx8/11/

30voto

sandeep Points 43178

Donnez vertical-align:top; en a & span. Comme ceci:

a, span{
 vertical-align:top;
}

Cochez cette http://jsfiddle.net/TFPx8/10/

6voto

HoldTheLine Points 65

Simplement flottant à la fois des éléments de gauche permet d'obtenir le même résultat.

div {
background:yellow;
vertical-align:middle;
margin:10px;
}

a {
background-color:#FFF;
width:20px;
height:20px;
display:inline-block;
border:solid black 1px;
float:left;
}

span {
background:red;
display:inline-block;
float:left;
}

1voto

JKirchartz Points 6237

Je pense que c'est en montrant ici parce que votre <a> balises n'ont pas de contenu. J'ai ajouté un &nbsp; de chacun et il affiche comme prévu.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X