Foros del Web » Creando para Internet » CSS »

Columnas laterales, height 100%

Estas en el tema de Columnas laterales, height 100% en el foro de CSS en Foros del Web. Hola, tengo un problema al maquetar mi pagina web. La cosa es que tengo dos div laterales para poner un background que quiero que se ...
  #1 (permalink)  
Antiguo 12/08/2012, 10:26
Avatar de randoss  
Fecha de Ingreso: noviembre-2011
Mensajes: 16
Antigüedad: 12 años, 4 meses
Puntos: 1
Columnas laterales, height 100%

Hola, tengo un problema al maquetar mi pagina web.
La cosa es que tengo dos div laterales para poner un background que quiero que se repita hasta el final de la página.
Y luego un div central, con una tabla, con una serie de elemento que se distribuyen en dos celdas por fila. Claro está, el numero de filas es variable, dependiendo del número de elementos que se carguen, por lo que la altura puede variar.

Los div's laterales los tengo con unos float (left, y right) y luego ambos estan con la propiedad height: 100%. Pero se quedan a mitad de recorrido de la página, no llegan al final.

Alguna sugerencia??

Gracias!
  #2 (permalink)  
Antiguo 12/08/2012, 11:41
Avatar de flashmax  
Fecha de Ingreso: julio-2012
Ubicación: Bs.As. Argentina
Mensajes: 507
Antigüedad: 11 años, 9 meses
Puntos: 86
Respuesta: Columnas laterales, height 100%

Si te sugiero que pongas el código para ver la falla , css html
  #3 (permalink)  
Antiguo 12/08/2012, 11:57
Avatar de randoss  
Fecha de Ingreso: noviembre-2011
Mensajes: 16
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Columnas laterales, height 100%

Código HTML:
<body>
        <div class="contenedor">
		<div class="izquierda"></div>
		<div class="derecha"></div>
		<div class="centro">
			<table>
		            ..........CELDAS.........
			</table>
		</div>

		<div class="clear"></div>
	</div>
</body> 
Código:
.contenedor{
	width: 100%;
	height: 100%;
	margin: 0;
}
.izquierda{
	width: 102px;
	height: 100%;
	float: left;
	background: url("columna.jpg") repeat-y;
}
.derecha{
	width: 103px;
	height: 100%;
	float: right;
	background: url("columna.jpg") repeat-y;
}
.clear{
	clear: both;
}
  #4 (permalink)  
Antiguo 12/08/2012, 17:36
Avatar de flashmax  
Fecha de Ingreso: julio-2012
Ubicación: Bs.As. Argentina
Mensajes: 507
Antigüedad: 11 años, 9 meses
Puntos: 86
Respuesta: Columnas laterales, height 100%

Prueba así haber si funciona le agregue colores para ver como alinea.


Código:
*{
    margin:0;
    padding:0;
}
.contenedor{
	position: absolute;
	width: 100%;
	height: 100%;
	background-color:#EEE;
}
.izquierda{
	left:0 px;
	width: 102px;
	height: 100%;
	float: left;
	background: url("columna.jpg") repeat-y;
	background-color:#360;
}
.derecha{
	right:0px;
	width: 103px;
	height: 100%;
	float: right;
	background: url("columna.jpg") repeat-y;
	background-color:#900;
}
.clear{
	clear:both;
	
}
  #5 (permalink)  
Antiguo 13/08/2012, 04:36
Avatar de randoss  
Fecha de Ingreso: noviembre-2011
Mensajes: 16
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Columnas laterales, height 100%

Sigue sin funcionar, por lo que sea el div "contenedor" no se alarga hasta el final de la tabla, se queda a medio camino, junto con las columnas.

Aquí dejo el ejemplo funcionando: [URL="http://pruebacolumna.hostei.com/prueba.html"]http://pruebacolumna.hostei.com/prueba.html[/URL]
  #6 (permalink)  
Antiguo 13/08/2012, 12:54
 
Fecha de Ingreso: agosto-2012
Ubicación: En algún lugar de México
Mensajes: 41
Antigüedad: 11 años, 8 meses
Puntos: 16
Respuesta: Columnas laterales, height 100%

oye men, cuando trabajas con elementos flotantes es muy complicado lograr que estos queden alineado o parejos con el resto del contenido, lo que puedes hacer para que el contenedor principal cambie de tamaño segun la tabla es colocarle en la propiedad height a auto, con eso lograras lo anterior.

Sin embargo, los elementos flotantes laterales no lo haran, solo se mostraran hasta lo alto de la pantalla, puedes establecerle un alto como de unos 1000px para q se vean mas o menos estéticos.
  #7 (permalink)  
Antiguo 13/08/2012, 17:39
Avatar de randoss  
Fecha de Ingreso: noviembre-2011
Mensajes: 16
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Columnas laterales, height 100%

Y alguna forma de conseguir el mismo efecto (que se queden las columnas a los lados) sin los float??
Es que al ser el contenido dinámico, no puedo poner un alto fijo, pues irá variando.
  #8 (permalink)  
Antiguo 13/08/2012, 20:57
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 187
Respuesta: Columnas laterales, height 100%

Cito la respuesta que hice en un post con un planteo similar, si quieres lograrlo solo con CSS y por otra parte dar soporte para IE7 no es un requisito yo te recomiendo lo siguiente:

Cita:
Iniciado por ryugen Ver Mensaje
Si soporte para IE7 no es un requisito, yo lo haría así:

Código HTML:
Ver original
  1. <div class="container">
  2.     <div class="content sidebar"></div>
  3.     <div class="content main">
  4.     "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
  5.     </div>
  6.     <div class="content other-sidebar"></div>        
  7. </div>
Código CSS:
Ver original
  1. .container {
  2.     width:100%;
  3.     display:table;
  4. }
  5. .content {
  6.     display:table-cell;
  7. }
  8. .main {
  9.     width:900px;
  10. }
  11. .sidebar {
  12.     background:blue;
  13. }
  14. .other-sidebar {
  15.     background:red;
  16. }

Ejemplo en funcionamiento: http://jsfiddle.net/gSaPd/embedded/result/
Citado de: http://www.forosdelweb.com/f53/div-i...5/#post4247172
  #9 (permalink)  
Antiguo 13/08/2012, 21:09
Avatar de flashmax  
Fecha de Ingreso: julio-2012
Ubicación: Bs.As. Argentina
Mensajes: 507
Antigüedad: 11 años, 9 meses
Puntos: 86
Respuesta: Columnas laterales, height 100%

Te dejo una segunda alternativa con tablas
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<style type="text/css">
			*{
				margin: 0;
				padding: 0;
			}
			body{
				background-color: #000;
			}
			.izquierda{
				width: 102px;
				height: 100%;
				background-color: green;
			}
			.derecha{
				width: 103px;
				height: 100%;
				background-color: green;
			}
			.centro{
				background-color:#666;
			}
			.imagen{
				padding: 100px;
				background-color: red;
			}
			#fullheight{height:100%;
			}
			html,body{
                margin:0;
                padding:0;
                height:100%;
                border:none
            }
</style>
</head>

<body><table id="fullheight" class="tabla" width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td class="izquierda">&nbsp;</td>
    <td align="center" valign="top"><table>
					<tr>
							<td class="imagen">
							</td>
					</tr>
                    					<tr>
							<td class="imagen">
							</td>
					</tr>
                    					<tr>
							<td class="imagen">
							</td>
					</tr>
                    					<tr>
							<td class="imagen">
							</td>
					</tr>
                    					<tr>
							<td class="imagen">
							</td>
					</tr>

				</table></td>
    <td class="derecha">&nbsp;</td>
  </tr>
</table>


</body> 
</html>
  #10 (permalink)  
Antiguo 14/08/2012, 08:20
Avatar de randoss  
Fecha de Ingreso: noviembre-2011
Mensajes: 16
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Columnas laterales, height 100%

Muchas gracias "flashmax", ya he conseguido que me salga correctamente gracias a tu solución, al final es distinto a lo que yo me había planteado, pero bueno, el resultado es el mismo, y tampoco me hace falta que el código sea perfecto.
  #11 (permalink)  
Antiguo 27/08/2012, 15:09
Avatar de flashmax  
Fecha de Ingreso: julio-2012
Ubicación: Bs.As. Argentina
Mensajes: 507
Antigüedad: 11 años, 9 meses
Puntos: 86
Respuesta: Columnas laterales, height 100%

agrega esto al css
Código:
html,body{
                margin:0;
                padding:0;
                height:100%;
                border:none
            }
y a los height:100%;
  #12 (permalink)  
Antiguo 27/08/2012, 17:40
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: Columnas laterales, height 100%

Flashmax proponer el uso de tabla (del siglo pasado literalmente) en el Foro de css es un pecado capital que merece la expulsión del planeta, pero bue.

Randoss si quieres informarte y aprender un poco sobre el uso de Css busca el tema como "columnas equilibradas".

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

Etiquetas: 100%, altura, columnas, height, lateral
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 10:53.