MARGIN-TOP FUNCIONA MAL DENTRO DE UN ELEMENTO ANIDADO

Crear páginas para Gecko, diferencias con IE, articulos de interés y recursos en español
sociovic
Recién llegado
Recién llegado
Mensajes: 2
Registrado: Dom Sep 27, 2009 5:06 pm

MARGIN-TOP FUNCIONA MAL DENTRO DE UN ELEMENTO ANIDADO

Mensajepor sociovic » Dom Sep 27, 2009 5:44 pm

Soy nuevo en el foro, espero que puedan darme algunos consejos de como solucionar este problema. Sin mucho, trata sobre el margen-top de cualquier elemento que esta dentro de un contenedor div, en este caso se trata sobre el margen-top de la clase02, aqui mi codigo:

<!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">
<!--
.clase01 {
position: relative;
background-color: #666;
width: 300px;
height: 300px;
}
.clase02 {
position: relative;
background-color: #C03;
width: 200px;
height: 200px;
margin-top: 50px;
margin-left: 50px;
}
.cuerpo {
margin: 0px;
}
-->
</style>
</head>

<body class="cuerpo">
<div class="clase01">
<div class="clase02">Colocar aquí el contenido </div>

</div>
</body>
</html>

Como ven el codigo es muy simple, pero el margen-top de clase02 debería situarlo 50px abajo del borde de clase01, sin embargo no ocurre asi, por el contrario clase01 es la que sufre el margen-top de clase02. Digo error porque esto no ocurre con el resto de margenes, y solo se da para el primer elemento anidado dentro de un div. En un caso particular pueden probar en vez de clase02 una etiqueta <p> donde tambien sucede lo mismo.

De que tiene solucion la tiene, por ejemplo definiendo margen-top: 0px o poniendo a clase01 como float:left, pero no voy por ahi. Mi pregunta es ¿Es un error de mozilla? porque la verdad no tiene sentido, tambien lo probe en otros navegadores y sucede lo mismo.

Avatar de Usuario
Altair
Administrador
Administrador
Mensajes: 6968
Registrado: Vie Ene 30, 2004 1:01 am
Ubicación: Chile

Re: MARGIN-TOP FUNCIONA MAL DENTRO DE UN ELEMENTO ANIDADO

Mensajepor Altair » Dom Sep 27, 2009 11:42 pm

Bienvenido a la comunidad de MozilaES :D

Agregué padding-top:50px; y padding-left:50px; en el primer elemento DIV para desplazar el contenido de este elemento y quité margin-top: 50px; y margin-left: 50px; del segundo DIV.


Código: Seleccionar todo

<!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">
<!--
.clase01{
position:relative;
background-color:#666;
width:300px;
height:300px;
padding-top:50px;
padding-left:50px;
}
.clase02{
position:relative;
background-color:#C03;
width:200px;
height:200px;

}
.cuerpo{
margin:0px;
}
-->
</style>
</head>

<body class="cuerpo">
<div class="clase01">
<div class="clase02">Colocar aquí el contenido </div>

</div>
</body>
</html>


No olvides restar los 50px al ancho y alto a .clase01 para compensar el aumento producido por padding.

Código: Seleccionar todo

.clase01{
position:relative;
background-color:#666;
width:250px;
height:250px;
padding-top:50px;
padding-left:50px;
}
SeaMonkey 2

Síguenos en Twitter @MozillaES y en Facebook ;-)

sociovic
Recién llegado
Recién llegado
Mensajes: 2
Registrado: Dom Sep 27, 2009 5:06 pm

Re: MARGIN-TOP FUNCIONA MAL DENTRO DE UN ELEMENTO ANIDADO

Mensajepor sociovic » Lun Sep 28, 2009 12:13 am

Muchas gracias por tu respuesta cosmonaut, la verdad no pense que fuera tan rapida :-) lo que planteaste es una posible solución y lo entiendo, he comprobado otras, pero a lo que me referia es si tu estas (o estan para los que lo lean) de acuerdo en que el margin-top del ejemplo que puse no funciona bien segun las reglas del CSS, y que se da el mismo error en Mozilla, IE7 y Opera, otros navegadores no he comprobado. Esto lo hago porque quiero verificar que entendi las reglas CSS bien y que es un error del navegador o estoy equivocado ;) , ojala me haya dejado entender :-D

aidia
Recién llegado
Recién llegado
Mensajes: 1
Registrado: Jue Jun 24, 2010 10:04 pm

Re: MARGIN-TOP FUNCIONA MAL DENTRO DE UN ELEMENTO ANIDADO

Mensajepor aidia » Jue Jun 24, 2010 10:09 pm

sociovic escribió:Muchas gracias por tu respuesta cosmonaut, la verdad no pense que fuera tan rapida :-) lo que planteaste es una posible solución y lo entiendo, he comprobado otras, pero a lo que me referia es si tu estas (o estan para los que lo lean) de acuerdo en que el margin-top del ejemplo que puse no funciona bien segun las reglas del CSS, y que se da el mismo error en Mozilla, IE7 y Opera, otros navegadores no he comprobado. Esto lo hago porque quiero verificar que entendi las reglas CSS bien y que es un error del navegador o estoy equivocado ;) , ojala me haya dejado entender :-D

Revivo el muerto para salir de dudas, porque razon no funcion el margin-top, de un div dentro de otro div, como el codigo anterior del compañero.


Volver a “Desarrollo web (HTML/CSS/JS, accesibilidad...)”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados