Foros del Web » Creando para Internet » HTML »

No me aclaro con los div

Estas en el tema de No me aclaro con los div en el foro de HTML en Foros del Web. Hola, según tengo entendido no es apropiado usar tablas para maquetar páginas web, pero no consigo realizar lo que quiero con capas. Lo que quiero ...
  #1 (permalink)  
Antiguo 10/10/2012, 13:30
 
Fecha de Ingreso: enero-2012
Mensajes: 20
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta No me aclaro con los div

Hola, según tengo entendido no es apropiado usar tablas para maquetar páginas web, pero no consigo realizar lo que quiero con capas.

Lo que quiero hacer es esto (pero con capas):
Código:
			<table width="100%" height="100%" border="1">
				<tr style="height:100px;">
					<td>Cabecera</td>
				</tr>
				
				<tr>
					<td>Cuerpo auto-extensible</td>
				</tr>
				
				<tr style="height:100px;">
					<td>Pie de página</td>
				</tr>
			</table>

He intentado esto con capas:
Código:
		<div id="wrapper">			
			<div id="header">Head</div>
			<div id="body">Body</div>
			<div id="footer">Footer</div>
		</div>
Código:
#wrapper {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: red;

}
#header {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: 250px;
	background-color: #2e2721;
}

#body {
	position: relative;
	width: 100%;
	height: auto;
	background-color: #39302b;
	clear:both
}

#footer {
	position: relative;
	height: 150px;
	bottom: 0;
	width: 100%;
	background-color: #2e2721;
}
  #2 (permalink)  
Antiguo 10/10/2012, 14:32
Avatar de WyLY  
Fecha de Ingreso: enero-2002
Ubicación: Cancun, México.
Mensajes: 506
Antigüedad: 22 años, 10 meses
Puntos: 6
Respuesta: No me aclaro con los div

Por lo que te logré entender, intenta cambiar tu css:
#wrapper {
width:100%;
}
#header, #body, #footer{ height:250px;}

Necesitas tal vez leer un poco más acerca de CSS, entra al foro de ese tema y verás bastante contenido.
__________________
I do techy stuff for a living and practice MMA with my dog... He always wins.
  #3 (permalink)  
Antiguo 10/10/2012, 14:54
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 9 meses
Puntos: 1146
Respuesta: No me aclaro con los div

yo creo que su problema va con el uso excesivo o inadecuado de la propiedad position

Cita:
#wrapper {
position: absolute;
top: 0;
left: 0;
width: 100%;

height: 100%;
background-color: red;

}
#header {
position: relative;
top: 0;
left: 0;
width: 100%;

height: 250px;
background-color: #2e2721;
}

#body {
position: relative;
width: 100%;
height: auto;

background-color: #39302b;
clear:both
}

#footer {
position: relative;
bottom: 0;
width: 100%;

height: 150px;
background-color: #2e2721;
}
las etiquetas marcadas en rojo no tienen razón de ser en un ejemplo tan básico como el que has expuesto, sumado a esto el uso excesivo o inadecuado de la propiedad position puede crearte muchos problemas.

Hasta no ver mas código implementado para mi carecen de funcionalidad para este ejemplo.

otra cosa, declarar width:100% en un div es innecesario, estos por default ya ocupan el 100% sin necesidad de especificarlo y declarar height:auto en un div es el mismo caso que width:100%
  #4 (permalink)  
Antiguo 11/10/2012, 01:22
 
Fecha de Ingreso: enero-2012
Mensajes: 20
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: No me aclaro con los div

Mi problema es que quiero que la capa #body se estire de forma automática. Ya he hecho los cambios sugeridos por "Ag666".

Código:
body {
	margin: 0px 0px 0px 0px;
}

#wrapper {
	height: 100%;
	background-color: red;
}
#header {
	height: 250px;
	background-color: #2e2721;
}

#body {
	height: auto; /* El problema está aquí */
	background-color: #39302b;
}

#footer {
	height: 150px;
	background-color: #2e2721;
}
Por ejemplo si el alto de la pantalla es 1000px, #footer mide 150 y #header 250, #body tiene que medir 600px. Pero claro cada pantalla mide una cosa.
  #5 (permalink)  
Antiguo 11/10/2012, 10:43
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 9 meses
Puntos: 1146
Respuesta: No me aclaro con los div

ok ya veo lo que tu quieres es que tu diseño siempre ocupe el 100% de alto, en ese caso deberias tener otra estructura

prueba con este ejemplo:
Código CSS:
Ver original
  1. html,body{margin:0;padding:0;height:100%;}
  2. #site{min-height:100%;}
  3. #header{background:#333;font:italic 700 15px/50px georgia,tahoma,arial;color:#fff;text-align:center;}
  4. #content{padding-bottom:33px;font:13px/1.5 arial,verdana,tahoma;}
  5. #footer{background:#333;font:italic 700 11px/33px 'courier new',tahoma,arial;color:#fff;text-align:center;margin-top:-33px;}
Código HTML:
Ver original
  1. <div id="site">
  2.     <div id="header">Cabecera de nuestro sitio</div>
  3.     <div id="content">
  4. <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
  5.     </div>
  6. </div>
  7. <div id="footer">Contenido del pie de pagina</div>
  #6 (permalink)  
Antiguo 11/10/2012, 11:08
 
Fecha de Ingreso: enero-2012
Mensajes: 20
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: No me aclaro con los div

Ya está resuelto. OJO con tu código que has metido algún caracter especial que no se ve y luego en el navegador si aparece.

Código:
<html>
	<head>
		<title></title>
		
		<style>
			html,body{
				margin:0;padding:0;
				height:100%;
			}
			
			#site{
				min-height:100%;
			}
		
			#header{
				background:#333;
				font:italic 700 15px/50px georgia,tahoma,arial;
				color:#fff;
				text-align:center;
			}
				
			#content{
				padding-bottom:33px;
				font:13px/1.5 arial,verdana,tahoma;
			}
				
			#footer{background:#333;
			font:italic 700 11px/33px 'courier new',tahoma,arial;color:#fff;
			text-align:center;
			margin-top:-33px;
			}

		</style>
		
		
	</head>

	<body>
		<div id="site">
			<div id="header">
				cabecera
			</div>
			
			<div id="content">Contenido</div>
		</div>
		<div id="footer">PIE</div>
	</body>
</html>

Última edición por BrunoIV; 11/10/2012 a las 11:11 Razón: He encontrado el motivo del error
  #7 (permalink)  
Antiguo 11/10/2012, 11:13
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 9 meses
Puntos: 1146
Respuesta: No me aclaro con los div

muchas etiquetas tienen margenes o padding como es el caso de p,h1,h2....,ul.... etc etc

lo que necesitas es aplicar un reset CSS, algo rápido para pruebas es aplicar al inicio de tu CSS
*{margin:0;padding:0;}
pero como dije este es temporal solo para pruebas cuando estas aprendiendo, búscate un reset CSS en google yo uso el de yahoo pero hay muchos.

Para los caracteres raros ya lo has dicho tu aplica charset utf-8 y no te olvides de declarar un doctype valido para el buen funcionamiento en todos los navegadores.

Etiquetas: ajustable, css, tabla, capas
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 22:18.