No, i float non COPRONO altri elementi float. Eventualmente elementi NON FLOAT messi DOPO elementi float possono "sovrapporsi" se non si usano le regole corrette (margin o clear)

Ad esempio questo
Codice PHP:
<html>
    <
head>
        <
style>
            
div#colonna1{float: left; width: 150px; background-color: #ccc}
            
div#colonna2{float: left; width: 250px; background-color: #99f}
            
div#colonna3{float: right; width: 100px; background-color: #ff9}
            
div#centro{margin-left:400px; background-color: #9f9; margin-right: 100px;}
            
div#sotto{clear: both; background-color: #f99}
        
</style>
    </
head>
    <
body>
        <
div id="colonna1">Colonna 1</div>
        <
div id="colonna2">Colonna 1</div>
        <
div id="colonna3">Colonna 3</div>
        <
div id="centro">Centro</div>
        <
div id="sotto">Sotto</div>
    </
body>
</
html
Da il risultato mostrato in figura, poichè:
1) Colonna 1 è floattato e va a sinistra
2) Colonna 2 è floattato e si attacca a colonna 1 (tra floattati non si coprono)
3) Colonna 3 è flottato a destra
4) Colonna 4 non è floattato ma ha i margini a sinistra e destra sufficienti larghi proprio quanto la somma delle relative colonne (400px a sinistra e 100 a destra) evitando quindi sovrapposizioni
5) Sotto non è floattato ma ha "clear:both" che impedisce comunque qualsiasi sovrapposizione con elementi floattati sia a destra che a sinistra

P.S.
Ricorda, gli elementi float devono SEMPRE avere una larghezza DEFINITA (width). Per l'altezza non c'è problema poichè basta mettere sotto di loro un elemento con clear: both e sei a posto