Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] Borro "border" y me desplaza toda la página

Estas en el tema de Borro "border" y me desplaza toda la página en el foro de CSS en Foros del Web. Hola, estoy haciendo el header y el navegador de una página. Para ver donde estoy y no confundirme a veces le pongo un color a ...
  #1 (permalink)  
Antiguo 17/06/2013, 15:43
Avatar de Iballa  
Fecha de Ingreso: marzo-2013
Mensajes: 107
Antigüedad: 11 años, 1 mes
Puntos: 6
Borro "border" y me desplaza toda la página

Hola, estoy haciendo el header y el navegador de una página.

Para ver donde estoy y no confundirme a veces le pongo un color a las cajas, para ver exactamente donde están, pero esta vez le puse un border: 1px solid black, (ej) simplemente para ver los límites de las cajas y no perderme.

Bueno, seguí haciendo la página hasta el navegador, recurdo de que ese border no tenía que estar ahí, se lo quito en el css y de repente me baja el header y todo su contenido y el navegador, toda la pagina hecha hacia abajo, dejándome un margen blanco por encima del header de unos 100 px aprox.

Si ahora le doy al header un margin negativo de ese tamaño, -100 px pues me lo devuelve al sitio, pero no es plan, no sé por qué paso esto.

O bien, si le vuelvo a poner los border, tal como estaban, me vuelve la página normal.

¿alguien tiene idea de esto tan extraño?

Gracias
  #2 (permalink)  
Antiguo 17/06/2013, 15:54
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: Borro "border" y me desplaza toda la página

Iballa sin código es difícil saber. Más que nada porque hay bastante variedad de errores posibles. Yo diría que tiene algo que ver con colapsamiento de margin/padding. Pero es como escupir al aire, igual me da en la cara o si hace viento no.
  #3 (permalink)  
Antiguo 17/06/2013, 16:35
Avatar de Iballa  
Fecha de Ingreso: marzo-2013
Mensajes: 107
Antigüedad: 11 años, 1 mes
Puntos: 6
Respuesta: Borro "border" y me desplaza toda la página

No no, escupir al aire no, que el aire no te ha hecho nada XD

Bueno, aquí va el código:
(las imagenes no salen porque no las indexé).

Código HTML:
Ver original
  1. <!DOCTYPE HTML>
  2.     <title></title>
  3.  
  4.     <meta charset="utf-8"/>
  5.    
  6.     <link rel="stylesheet" type="text/css" href="estilos.css"/>
  7. </head>
  8.     <div id="wrapper">
  9.         <header>
  10.               <div class="imagenes">
  11.                   <p>xxxx</p>
  12.                   <div class="logo-facebook">
  13.                      <a href="https://www.facebook.com/" target="_blank"><img src="" ></a>
  14.                   </div>
  15.               </div>
  16.         </header>
  17.          <nav>
  18.        <div id="caja-navegador">
  19.           <ul>
  20.              <a href=""><li>INICIO</li></a>
  21.              <a href=""><li>INICIO</li></a>
  22.              <a href=""><li>INICIO</li></a>
  23.              <a href=""><li>INICIO</li></a>
  24.              <a href=""><li>INICIO</li></a>
  25.           </ul>
  26.        </div>
  27.     </nav>
  28.     </div>
  29.  
  30.    
  31. </body>
  32. </html>

Código CSS:
Ver original
  1. /*Reseteo Universal*/
  2. *{
  3.     border: 0;
  4.     margin: 0;
  5.     padding: 0;
  6. }
  7. header,footer,section,article,hgroup,{
  8.     display: block;
  9. }
  10. /*Estilos*/
  11.  
  12.  
  13. /*HEADER*/
  14. #wrapper {
  15.     background: pink;
  16.     height: 900px;
  17.     margin: 0;
  18. }
  19. header {
  20.     background: #5E803F;
  21.     /*aquí iva el border*/
  22.     width: 100%;
  23.     height:202px;
  24. }
  25. header p  {
  26.     color: #5E803F;
  27.     font-family: arial;
  28.     font-size: 1.6em;
  29.     font-weight: bold;
  30.     margin-top: 5em;
  31.     margin-left: 1em;
  32. }
  33. .imagenes {
  34.     background-image: url();
  35.     /*aquí iva el border*/
  36.     height: 202px;
  37.     width: 941px;
  38.     margin: 0 auto;
  39. }
  40. .logo-facebook {
  41.     margin-top: 0.2em;
  42.     margin-left: 1.5em;
  43. }
  44.  
  45.  
  46. /*NAV*/
  47. nav #caja-navegador ul  {
  48.    
  49.     background: #5C4E30;
  50.     list-style: none;
  51.     text-align: center;
  52. }
  53.  
  54. nav #caja-navegador ul li {
  55.    
  56.     background: #594F34;
  57.     color: white;
  58.     display: inline-block;
  59.     font-family: arial;
  60.     font-size: 0.9em;
  61.     font-weight: bold;
  62.     width: 10.3em;
  63.     padding: 0.7em;
  64.  
  65. }
  66.  
  67. nav #caja-navegador ul li:hover {
  68.    background:#667B43;
  69. }
  #4 (permalink)  
Antiguo 17/06/2013, 16:43
Avatar de pitufoweb  
Fecha de Ingreso: enero-2008
Ubicación: Un Mundo Raro
Mensajes: 1.148
Antigüedad: 16 años, 3 meses
Puntos: 181
Respuesta: Borro "border" y me desplaza toda la página

Hola,


Tienes:

header p {
margin-top: 5em;

}

Ese es el margen que causa tu problema. Al no tener un borde, el margen sale por encima de header.

Una manera de solucionar seria aplicarle un averflow:hidden a header.



Saludos
__________________
------------- " La felicidad no llega de afuera, nace desde dentro. " -------------
  #5 (permalink)  
Antiguo 18/06/2013, 04:07
Avatar de Iballa  
Fecha de Ingreso: marzo-2013
Mensajes: 107
Antigüedad: 11 años, 1 mes
Puntos: 6
Respuesta: Borro "border" y me desplaza toda la página

Cita:
Iniciado por pitufoweb Ver Mensaje
Hola,


Tienes:

header p {
margin-top: 5em;

}

Ese es el margen que causa tu problema. Al no tener un borde, el margen sale por encima de header.

Una manera de solucionar seria aplicarle un averflow:hidden a header.



Saludos
Hola pitufoweb, no lo entiendo, el parrafo <p> está dentro de otra caja, tiene un padre, <div>, que debería ser el origen del margen, no entiendo por qué se sale.
  #6 (permalink)  
Antiguo 18/06/2013, 04:43
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: Borro "border" y me desplaza toda la página

Pues al final es una cuestión de la extraña formar que tiene CSS de colapsar márgenes. Digo extraño porque las consecuencias es una de esas cosas que nadie entiende muy bien porqué son como son.

La cuestión es que, al colapsa el margen superior, este termina por fuera de su contenedor.

Cuando no existe borde, padding, contenido en linea o un clear —por eso va el overflow también— para separar el margen superior de un elemento con el margen superior de su primer elemento hijo —siempre y cuando este sea un elemento de bloque—, los márgenes se colapsan. Luego el margen colapsadao sale por fuera del contenedor.

Luego tu problema, como ya comentó pitufoweb, es realmente margen superior del párrafo. Lo que al añadir un borde desaparece el problema. En realidad solucionaste un problema sin entender que existía.

El overflow de pitufoweb es una solución, seguramente la más limpia. Pero siempre y cuando evites que la situación sea la arriba menciona, todo vale.

Por ejemplo:

Código CSS:
Ver original
  1. header p {
  2.   display: inline; /* o inline-block */
  3. }

El porqué, como digo, a mi me sigue siendo un misterio. Cosas de la W3C. Al menos sabes cómo solucionarlo.
  #7 (permalink)  
Antiguo 18/06/2013, 07:18
Avatar de Iballa  
Fecha de Ingreso: marzo-2013
Mensajes: 107
Antigüedad: 11 años, 1 mes
Puntos: 6
Respuesta: Borro "border" y me desplaza toda la página

Pues según leí, era para los margenes entre filas, para que al darle un margen
igual a todas las filas, los márgenes que ivan entre fila y fila no midieran el doble y se quedara la medida entre fila y fila de cualquier bloque igualada...no sé si me explico, pero me parece una cagada, con perdón, porque complica las cosas y se puede poner simplemente un tag para quien quiera poner a la mitad una medida entre filas. No sé.

Gracias a los dos¡
  #8 (permalink)  
Antiguo 18/06/2013, 07:40
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: Borro "border" y me desplaza toda la página

No si eso está bien, que se colapsen en esos casos. Pero cómo se trata en el que caso que no haga falta es un poco raro. No sé, igual en vez de echar ese margen hacia afuera lo suyo sería anularlo directamente. Pero bueno, conociendo el asunto, en realidad ya nos las apañamos.

Etiquetas: border, color, contenido, desplaza, página
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:11.