2011-08-24 14 views
7

Ho un div che è float: left, e dopo il div è il resto della pagina. Al fine di mantenere il resto della pagina sotto il div, devo prima mettere unbr clear = "all" vs css solution

<br clear="all"> 

D: Come faccio a posizionare il resto della pagina sotto il div galleggiava? Penso di aver bisogno di avvolgere il resto della pagina in un nuovo div e di farlo fluttuare. Ma io tendo a stare lontano dai galleggianti il ​​più possibile.

+0

Puoi armeggiare/pubblicare un esempio di cosa intendi? – JonH

+1

Che aspetto ha l'html? – jeroen

+1

In html5, il tag br non ha tale attributo. – Roland

risposta

6

Sulla voce successiva è possibile utilizzare lo stile clear:left.

Un'altra alternativa è impostare lo stile overflow sul genitore dell'elemento mobile per renderlo contenuto, ad esempio overflow:hidden.

+1

Assicurati che se usi 'overflow: hidden' che l'elemento non abbia un set di altezza esplicito (come' height: 200px'), così facendo si nasconderà il contenuto all'utente. – steveax

2

Io di solito avvolgere un altro div div intorno al galleggiante, con stile overflow: auto

16

dopo il div che hai fluttuato. aggiungi il seguente codice

<div style='clear:both'></div> 

quindi continuare il resto della pagina come al solito.

+0

Ho usato molto questo, ma non vedo perché è meglio che usare il tag br invece. Inoltre, VisualStudio non segnala un errore se si effettua un div (accidentale) a chiusura automatica, ma ho avuto un comportamento scorretto di javascript davvero spiacevole. Quindi questa soluzione è una fonte di bug. – Roland

0

Creare una classe e inserire nel CSS:

br.cb { clear: both; } 

Inserire in HTML:

<br class="cb"> 

Ciò ha passato W3 markup e CSS validator.

+0

+1 Ho bisogno di questo in molti posti, ed è molto più breve, e più chiaro, che con un tag div, che non si chiude automaticamente. – Roland