Estoy tratando de alinear varios componentes inline
y inline-block
verticalmente en a div
. ¿Cómo es que span
en este ejemplo insiste en ser empujado hacia abajo? He intentado ambos vertical-align:middle;
y vertical-align:top;
, pero nada cambia.
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
fuente
fuente
<a>
los elementos contienen un texto dentro de ellos ver este enlaceRespuestas:
vertical-align
se aplica a los elementos que se alinean, no a su elemento padre. Para alinear verticalmente a los hijos del div, haga esto en su lugar:Ver: http://jsfiddle.net/dfmx123/TFPx8/1186/
NOTA :
vertical-align
es relativo a la línea de texto actual, no a la altura total del elemento primariodiv
. Si desea que el padrediv
sea más alto y aún tenga los elementos centrados verticalmente, establezca la propiedaddiv
's enline-height
lugar de suheight
. Siga el enlace jsfiddle anterior para ver un ejemplo.fuente
div
.vertical-align
es relativo a la línea de texto actual, no al elemento padre. Para que esto funcione como desee, establezca el div enline-height
lugar de suheight
.Dar
vertical-align:top;
ena
yspan
. Me gusta esto:Mira esto http://jsfiddle.net/TFPx8/10/
fuente
Simplemente flotando ambos elementos a la izquierda se obtiene el mismo resultado.
fuente
inline-block
es la única solución.Para ajustar la posición de un
inline-block
elemento, use la parte superior e izquierda:Gracias CSS-Tricks !
fuente
translate
También es posible.