Foros del Web » Creando para Internet » CSS »

Consulta teorico/práctica

Estas en el tema de Consulta teorico/práctica en el foro de CSS en Foros del Web. Buscando sobre el tema del uso de valores negativos en las propiedades de margin me encontré este hilo: http://www.forosdelweb.com/f53/diseno-con-cabecera-tres-columnas-pie-462019/ La verdad que me resultó muy ...
  #1 (permalink)  
Antiguo 19/12/2007, 08:42
 
Fecha de Ingreso: diciembre-2007
Mensajes: 17
Antigüedad: 16 años, 4 meses
Puntos: 0
Consulta teorico/práctica

Buscando sobre el tema del uso de valores negativos en las propiedades de margin me encontré este hilo: http://www.forosdelweb.com/f53/diseno-con-cabecera-tres-columnas-pie-462019/

La verdad que me resultó muy interesante. Vi que Mikmoro había llegado a un diseño igual, con el centro "liquido" y sin utilizar valores negativos en los margenes.

Me gustaría que alguien me explicara un poco mejor cual es el funcionamiento de los valores negativos en los margin. Y, ya puestos, si alguien puede conseguir el mismo efecto que el que produce el siguiente código, sin utilizar valores negativos en margin.

Cita:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Layout 24</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="HAPedit 3.1">
<style type="text/css">
html,body{margin:0;padding:0}
body{font: 76% arial,sans-serif}
p{margin:0 10px 10px}
a{display:block;color: #006;padding:10px}
div#header{position:relative}
div#header h1{height:80px;line-height:80px;margin:0;
padding-left:10px;background: #EEE;color: #79B30B}
div#header a{position:absolute;right:0;top:23px}
div#content p{line-height:1.4}
div#navigation{background:#B9CAFF}
div#extra{background:#FF8539}
div#footer{background: #333;color: #FFF}
div#footer p{margin:0;padding:5px 10px}
div#footer a{display:inline;padding:0;color: #C6D5FD}

div#wrapper{float:right;width:100%;margin-left:-200px}
div#content{margin-left:200px}
div#navigation{float:left;width:200px}
div#extra{float:left;clear:left;width:200px}
div#footer{clear:both;width:100%}
</style>
<script type="text/javascript" src="filler.js"></script>
</head>
<body>
<div id="container">
<div id="header"><h1>Header</h1><a href="http://blog.html.it/layoutgala/layout24.zip">download this layout</a></div>

<div id="wrapper">
<div id="content">
<p><strong>1) Content here.</strong> column long long column very long fill fill fill long text text column text silly very make long very fill silly make make long make text fill very long text column silly silly very column long very column filler fill long make filler long silly very long silly silly silly long filler make column filler make silly long long fill very.</p>
<p>very make make fill silly long long filler column long make silly silly column filler fill fill very filler text fill filler column make fill make text very make make very fill fill long make very filler column very long very filler silly very make filler silly make make column column </p>
<p>fill long make long text very make long fill column make text very silly column filler silly text fill text filler filler filler make make make make text filler fill column filler make silly make text text fill make very filler column very </p>
<p>column text long column make silly long text filler silly very very very long filler fill very fill silly very make make filler text filler text make silly text text long fill fill make text fill long text very silly long long filler filler fill silly long make column make silly long column long make very </p>
</div>
</div>
<div id="navigation">
<p><strong>2) Navigation here.</strong> long long fill filler very fill column column silly filler very filler fill fill filler text fill very silly fill text filler silly silly filler fill very make fill column text column very very column fill fill very silly column silly silly fill fill long filler </p>

</div>
<div id="extra">
<p><strong>3) More stuff here.</strong> very text make long column make filler fill make column column silly filler text silly column fill silly fill column text filler make text silly filler make filler very silly make text very very text make long filler very make column make silly column fill silly column long make silly filler column filler silly long long column fill silly column very </p>
</div>
<div id="footer"><p>The footer. You can go to the <a href="http://blog.html.it/layoutgala/">index page</a>.</p></div>
</div>
<script type="text/javascript">AddFillerLink("content","navigation"," extra")</script>
</body>
</html>
  #2 (permalink)  
Antiguo 19/12/2007, 09:22
Avatar de webosiris
Moderador egiptólogo
 
Fecha de Ingreso: febrero-2002
Ubicación: Luxor, Egipto
Mensajes: 10.725
Antigüedad: 22 años, 2 meses
Puntos: 998
Re: Consulta teorico/práctica

hola, bienvenido a FdW

Cita:
Me gustaría que alguien me explicara un poco mejor cual es el funcionamiento de los valores negativos en los margin
te voy a explicar la técnica que generalmente uso para posicionar el pie de una página siempre al final independientemente del contenido, aunque la explicación teórica sobre margenes negativos sea aplicable a cualquier cosa

margin-top se podría definir como "la distancia que hay entre el borde superior del elemento al que se le aplica margin al borde inferior del elemeto anterior".... osea, si tenes
Cita:
<div id="contenedor"></div>
<div id="pie"></div>
#pie{margin-top:100px} haría que la distancia entre el borde superior de #pie y el borde inferior de #contenedor fuera 100px. Hasta ahí la explicacion de lo márgenes "positivos".

Los márgenes negativos siguen la misma lógica, en este ejemplo con #pie{margin-top:-100px} los bordes seguirían separados 100px solo que para el "otro lado". Y eso lleva a que, si #pie tiene una altura de 100px, quede completamente "montado" sobre los últimos 100px de #contenedor, coincidiendo el borde inferior de #pie con el borde inferior de #contenedor.
Si a esto le sumamos que al #contenedor le aplico min-height:100% (lo que hace que su altura mínima sea siempre el 100% del alto de la ventana) obtenemos un pie que siempre queda pegado al borde inferior de la ventana aún cuando no hay suficientemente contenido para llenarla toda :)

Espero no haberte confundido al introducirte otro ejemplo más, pero creo que es el ejemplo en que más facilmente se pueden entender los márgenes negativos
__________________
Pasamos tus PSD a HTML

Pobre del que lo sabe todo, porque no tiene nada más que aprender ni razón para vivir. -
  #3 (permalink)  
Antiguo 19/12/2007, 09:31
 
Fecha de Ingreso: diciembre-2007
Mensajes: 17
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Consulta teorico/práctica

Bien. Me confirmas lo que ya calculaba.
Mi duda apunta mas bien al uso que se le da a los margin negativos en el ejemplo que ponía en el primer post. Que según creo es para que el content quede a la derecha de navigation y extra.

Gracias por la explicación.
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 03:21.