#QuebraderosCSS: Entendiendo el Vertical-Align
Alinear verticalmente un elemento en CSS muchas veces es más complicado de lo que debería. El uso de tablas y celdas hace muy fácil el alineado vertical, mediante las propiedades align y valign pero esto no es para nada recomendable. Con CSS a veces es algo más complicado hasta que aprendemos 3 pequeñas cosas.
En CSS tenemos la propiedad vertical-align que no siempre funciona como queremos. Para evitar problemas y que el alineado vertical funcione correctamente tenemos que tener en cuenta lo siguiente:
- El
vertical-alignsolo funcionara cuando el elemento al que se lo aplicamos es del tipoinlineoinline-block. - También es importante el
line-heightdel elemento padre ya que este determinará la posición a la que se alineará.
Llevemos esto acabo
Vamos a tratar de alinear vertical y horizontalmente una imagen dentro de un div. Para ello empezamos con el siguiente código:
Como vemos, por mucho que la imagen tenga vertical-align: middle lo ignora y sigue pegada a la parte superior de la caja. Ahora, apliquemos el display: inline-block y un line-height de 200px a la caja superior (Alto de la caja):
Como vemos, ahora la imagen esta perfectamente alineada tanto vertical, como horizontalmente.
Por lo tanto, resumiendo. Para alinear un elemento verticalmente necesitamos que este sea tipo inline/inline-block y el elemento padre tenga un line-height adecuado.
Actualizado, ¡gracias al comentario de Sergiomas!