Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] Problema con divs y margin

Estas en el tema de Problema con divs y margin en el foro de CSS en Foros del Web. Hola a todos. Estaba haciendo un ejercicio para clase, que consiste en hacer algo tal que así: Y la hoja CSS para conseguirlo es la ...
  #1 (permalink)  
Antiguo 15/12/2015, 15:53
Avatar de BramSt  
Fecha de Ingreso: abril-2015
Mensajes: 117
Antigüedad: 9 años
Puntos: 5
Problema con divs y margin

Hola a todos.

Estaba haciendo un ejercicio para clase, que consiste en hacer algo tal que así:





Y la hoja CSS para conseguirlo es la siguiente:
Código CSS:
Ver original
  1. #contenedor
  2. {
  3.  
  4. background-color:aqua;
  5.  
  6. width:700px;
  7.  
  8. border:1px solid aqua;
  9. }
  10.  
  11. #cabecera
  12. {
  13.  
  14. background-color:red;
  15.  
  16. margin:20px;
  17.  
  18.  
  19. }
  20.  
  21. #menu
  22. {
  23.  
  24. background-color:green;
  25. width:150px;
  26. float:left;
  27. margin:20px;
  28. height:250px;
  29.  
  30. }
  31.  
  32. #contenidos
  33. {
  34.  
  35.  
  36. background-color:yellow;
  37. width:470px;
  38. float:left;
  39. height:500px;
  40. margin:20px;
  41.  
  42.  
  43. }
  44.  
  45. #pie
  46. {
  47.  
  48. clear:both;
  49. background-color:violet;
  50. margin:20px;
  51. }

Y el html:

Código HTML:
Ver original
  1.     <head>
  2.         <title>
  3.         </title>
  4.         <link rel="stylesheet" type="text/css" href="Estilos.css"/>
  5.        
  6.     </head>
  7.     <body>
  8.    
  9.        
  10.         <div id="contenedor">
  11.        
  12.             <div id="cabecera">cabecera</div>
  13.             <div id="menu">menu</div>
  14.             <div id="contenidos">contenidos</div>
  15.             <div id="pie">pie</div>
  16.        
  17.         </div>
  18.        
  19.     </body>
  20. </html>

Bueno, el problema es que me ha salido bien casi por suerte, probando a tientas, porque no entiendo por qué he tenido que ponerle un borde al div contenedor para que se muestren los margin-top de la cabecera y el margin-bottom del pie de página. Es decir, si no pongo el borde, queda así:





¿Alguien puede explicarme por qué?

Muchas gracias.
  #2 (permalink)  
Antiguo 16/12/2015, 03:42
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Problema con divs y margin

No he mirado el código, pero tiene toda la pinta de ser un problema causado por el colapsamiento de CSS.

Léase: http://www.sitepoint.com/web-foundat...apsing-margins En concreto la sección «Collapsing Margins Between Parent and Child Elements» que es tu caso, aunque todo el artículo es de interés, sobre todo para entender el porqué ocurre.
__________________
(:
  #3 (permalink)  
Antiguo 16/12/2015, 09:12
Avatar de BramSt  
Fecha de Ingreso: abril-2015
Mensajes: 117
Antigüedad: 9 años
Puntos: 5
Respuesta: Problema con divs y margin

Cita:
Iniciado por pzin Ver Mensaje
No he mirado el código, pero tiene toda la pinta de ser un problema causado por el colapsamiento de CSS.

Léase: [url]http://www.sitepoint.com/web-foundations/collapsing-margins[/url] En concreto la sección «Collapsing Margins Between Parent and Child Elements» que es tu caso, aunque todo el artículo es de interés, sobre todo para entender el porqué ocurre.
Muchas gracias compañero. Ahora mismo me lo imrpimo y leo tranquilamente.
  #4 (permalink)  
Antiguo 19/12/2015, 11:51
Avatar de juanebas07126  
Fecha de Ingreso: diciembre-2015
Mensajes: 1
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: Problema con divs y margin

Prueba antes de todo resetear los estilos del navegador

*{
margin: 0;
padding: 0;
}
  #5 (permalink)  
Antiguo 23/12/2015, 13:48
Avatar de BramSt  
Fecha de Ingreso: abril-2015
Mensajes: 117
Antigüedad: 9 años
Puntos: 5
Respuesta: Problema con divs y margin

Efectivamente ya he comprendido (creo) el tema de los alineamientos gracias a ese manual. Muchas gracias por vuestras respuestas :)

Etiquetas: background, color, divs, float, html, margin, todo, width
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:04.