2012-03-02 35 views
17

Ésta es mi html:CSS fondo desaparece cuando se utiliza float: left

<div class="header_wrapper"> 
     <div class="main_nav"> 
     <div>TEst</div> 
     <div>TEst</div> 
     <div>TEst</div> 
    </div> 
    <div class="clear"></div> 
</div> 

Como se puede ver Quiero construir un menú con divs flotantes. Al hacerlo, el fondo de main_nav desaparece.

.header_wrapper{ 

    height:129px; 
    background:url('images/layout/header.png') no-repeat #1f1f1f; 
    border-bottom:1px solid #1f66ad 
} 

.header_wrapper .main_nav{ 
    position:relative; 
    top:77px; left:336px; 
    width:750px; 
    background:red; 
} 

.header_wrapper .main_nav div{ 
    float:left; 
} 

.clear{ 
    clear:both; 
} 

He intentado usar claro: ambos, sin embargo, el fondo aún no está. ¿Alguna idea de por qué?

+0

¿Intentó asignar altura? –

Respuesta

50

Al agregar overflow:auto; a main_nav recupera el fondo.

+0

Usando _overflow: auto; _ puede causar problemas en algunos navegadores, como la barra de desplazamiento puede aparecer/desaparecer, o el área de contenido mi corte – coderVishal

2

Tienes que clear para tu padre float DIV' que es .main_nav. Escribe así:

.header_wrapper .main_nav{ 
    overflow:hidden; 
} 
3

Poner en overflow.main_nav

.header_wrapper .main_nav div{ 
    float:left; 
    overflow: hidden; 
} 

su liquidación de div obliga a sus padres a expandirse, no tiene ningún efecto en el fondo de su hermano.

7

Esto se debe a que el contenido flotante no ocupa espacio. La división padre main_div toma esencialmente una altura de 0 porque no tiene otro contenido, que "oculta" el fondo (no hay altura para mostrar detrás).

Esta información está disponible en css-floating tag wiki y también he publicado otras more detailed information about floating and parent containers.

+0

Dijo: _ "el fondo de' main_nav' desaparece "_, no el fondo de' header_wrapper' . Su 'header_wrapper' no debería colapsarse ya que incluyó un' div' de compensación dentro. – Sparky

+1

@ Sparky672: Gracias, solo es cuestión de cambiar el nombre del div en mi publicación ... – animuson

+0

Y no es el padre. – Sparky

Cuestiones relacionadas