2012-05-23 14 views
14

Ho un wrapper <div> che contiene due interni <div> s che sono mobili.L'altezza div Wrapper è 0 con elementi flottanti all'interno

<div class="outside" style="border:1px solid #555;"> 
    <div class="inside" style="float:left; width:40px;">CONTENT</div> 
    <div class="inside2" style="float:left; width:40px;">CONTENT</div> 
</div> 

Il problema è l'involucro <div> ha larghezza di 80px poiché due interno <div> sono 40px ciascuna. Ma sempre il wrapper <div> è 0px di altezza che fa apparire il bordo come una linea in alto.

Quindi ho inserito i due interni <div> all'interno di uno <table>. Ha funzionato bene. Ma come evito questo problema senza andare a <table>?

+0

possibile duplicato di [Quale metodo di 'clearfix' è il migliore?] (Http://stackoverflow.com/questions/211383/which-method-of-clearfix-is-best) – Oriol

risposta

44

Impostare overflow: hidden sul genitore.

<div class="outside" style="border:1px solid #555;overflow:hidden;"> 
    <div class="inside" style="float:left; width:40px;">CONTENT</div> 
    <div class="inside2" style="float:left; width:40px;">CONTENT</div> 
</div> 
+0

Sono curioso perché lo fa crollare in quel modo in primo luogo? – HussienK

1

Prova questa:

<div class="outside" style="border:1px solid #555; overflow:auto"> 
<div class="inside" style="float:left; width:40px;">CONTENT</div> 
<div class="inside2" style="float:left; width:40px;">CONTENT</div> 
</div>//Outside container close 
9

L'esterno div è collapsing perché i due bambini div s all'interno di esso sono galleggianti. La soluzione più semplice è impostare overflow: hidden; sull'esterno div.

Problemi correlati