Eu estou tentando obter vários inline
e inline-block
componentes alinhados verticalmente em uma div
. Como é que o span
exemplo insiste em ser empurrado para baixo? Eu tentei os dois vertical-align:middle;
e vertical-align:top;
, mas nada muda.
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;
}
RESULTADO:
html
css
vertical-alignment
Yarin
fonte
fonte
<a>
elementos contêm algum texto dentro deles veja este linkRespostas:
vertical-align
aplica-se aos elementos que estão sendo alinhados, não ao elemento pai. Para alinhar verticalmente os filhos da div, faça o seguinte:Veja: http://jsfiddle.net/dfmx123/TFPx8/1186/
NOTA :
vertical-align
é relativo à linha de texto atual, não à altura total do paidiv
. Se você queria que o paidiv
a ser mais altos e ainda tem os elementos verticalmente centradas, defina odiv
'sline-height
propriedade em vez do seuheight
. Siga o link jsfiddle acima para um exemplo.fonte
div
.vertical-align
é relativo à linha de texto atual, não ao elemento pai. Para fazer isso funcionar como você deseja, defina as divs emline-height
vez de suasheight
.Dê
vertical-align:top;
ema
&span
. Como isso:Verifique isso http://jsfiddle.net/TFPx8/10/
fonte
Simplesmente flutuar os dois elementos restantes obtém o mesmo resultado.
fonte
inline-block
é a única solução.Para ajustar a posição de um
inline-block
item, use superior e esquerda:Obrigado CSS-Tricks !
fonte
translate
também é possível.