2010-07-24 8 views

Respuesta

14

Esto se debe a que el contenido interno se está flotando. Los elementos principales no tienen la altura de los hijos flotantes. Intente agregar overflow: hidden; al #mainContent css.

-2

try definir explícitamente el valor por defecto

height: auto;

8

Todo dentro de #mainContent está flotando. Los flotadores no hacen que su contenedor cambie de tamaño. La solución más sencilla es añadir un derecho claro antes de esa fecha el final de #mainContent así:

<div id="mainContent"> 
<!-- inner bars --> 
<div style="clear:both;"></div> 
</div> 
+0

Esta es una solución "hacky" (estoy seguro de que hay más formas "semánticas"), pero es la más fácil y una de las más utilizadas. +1 –

+0

Absolutamente correcto. Nunca me ha gustado hacerlo por el desorden, pero está muerto, es fácil y está bien respaldado. – anq

+0

Éste también funcionó, pero al agregar desbordamiento: oculto para el CSS, no tuve que modificar cada página individualmente. Lo cual me gustó un poco mejor. – Quentamia

2

Tengo la sensación de que será algo que ver con el contenido de la #mainContent no div empuja hacia afuera el contenedor correctamente. Debería poder arreglar esto de diferentes maneras, como usar un div de compensación.

Añadir el siguiente CSS:

.clearfix{ 
    clear:both; 
} 

y añadir un div con la clase clearfix antes de cerrar la div maincontent:

<div id="mainContent"> 
    <div id="rightSide"> 
    ... 
    </div> 
    <div id="content"> 
    ... 
    </div> 
    <div class="clearfix"/> 
</div> 

Esto debería recordar al navegador para forzar la apertura de la div mainContent para encajar su contenido.

2

Jaja, esta será una pregunta difícil de verificar como respuesta porque hay una variedad de maneras de despejar carrozas. (También puede probar #mainContent flotante también)

Aquí está el maravilloso quirksmode article.

Cuestiones relacionadas