Foros del Web » Creando para Internet » CSS »

Alinear texto de un div abajo

Estas en el tema de Alinear texto de un div abajo en el foro de CSS en Foros del Web. Me estoy volviendo loco con algo que en principio no parece demasiado complicado, pero no consigo dar con ello, Como alinear un texto de un ...
  #1 (permalink)  
Antiguo 23/11/2012, 19:14
 
Fecha de Ingreso: enero-2012
Mensajes: 88
Antigüedad: 12 años, 3 meses
Puntos: 1
Alinear texto de un div abajo

Me estoy volviendo loco con algo que en principio no parece demasiado complicado, pero no consigo dar con ello, Como alinear un texto de un div abajo

Tengo una serie de divs como éste:

Código HTML:
<div class="alt4">Nuestros<br />Trabajos</div> 
Y su css es

Código HTML:
.alt4 {
	background-color: #31b3e7;
	height: 255px;
	margin-top: 5px;
}
Todo muy sencillo, pero quiero que el texto salga alineado abajo, pero no hay manera (y me niego a usar tablas )

A ver si alguien me echa una mano

Un saludo
  #2 (permalink)  
Antiguo 23/11/2012, 21:45
Avatar de C2am  
Fecha de Ingreso: enero-2009
Ubicación: Rosario, Argentina
Mensajes: 2.005
Antigüedad: 15 años, 3 meses
Puntos: 306
Respuesta: Alinear texto de un div abajo

Hola
Una posible solución:

Piensa que la alineación vertical css solo funciona con elementos de linea, y que tenga definida la altura de linea (line-height), ya esta altura hará de margen superior e inferior sobre la cual se alineará o posicionará.

Ahora, si defines dicha altura de linea en el div te encontrarás con que solo podrás colocar una linea (y en tu caso tienes dos debido al <br/>)

Entonces, una forma de solucionarlo es utilizar dos cajas (un div, y otra caja dentro que puede ser otro div, un p, span, etc., aplicandole la propiedad display:inline-block para que se comporte como un elemento de linea y bloque.

Al div contenedor le fijas el line-heigth igual a la altura del div, para poder alinear la caja interior con respecto a esta altura.

Luego a la caja interior, le defines como quieres que se posicione con respecto al eje y (altura): vertical-align:bottom - top - middle etc. Y vuelves a definir el line-height porque sino mantendrá el del padre (line-height:2em)

Código HTML:
Ver original
  1. <div class="alt4"><span>Nuestros<br />Trabajos</span></div>

Código CSS:
Ver original
  1. .alt4 {
  2.     background-color: #31b3e7;
  3.     height: 255px;
  4.     line-height:255px; /* igual a height*/
  5.     margin-top: 5px;
  6.     text-align:center;
  7. }
  8. span {
  9.     border:1px solid #ddd;
  10.     display:inline-block;
  11.     line-height:2em; /*vuelves definirlo con una altura necesaria para contener el texto */
  12.     vertical-align:bottom;
  13. }

El ejemplo para puedas ver su funcionamiento y probar alternativas.

Saludos
__________________
El mundo nada puede contra un hombre que canta en la miseria.
-- Ernesto Sábato--

Etiquetas: alinear, vertical
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:29.