Ho questa esigenza: un div con caratteristiche
float:left; width:33%;

contiene una immagine di larghezza a piacere (ad esempio 400px)

Finché la larghezza dell'immagine mi sta in quel 33% della pagina va tutto bene, il problema viene quando quel 33% non è più sufficiente per contenere l'immagine.

Il div continua ad essere largo il 33% della pagina, e l'immagine continua ad essere 400px , uscendo dal div e andando a sovrapporsi con qualsiasi cosa si trovi alla sua destra.

è possibile fare in modo che il div non diventi mai più piccolo del suo contenuto o risolvere in qualche modo questa fastidiosa sovrapposizione? (no, la proprietà overflow:hidden non è una possibilità. Non posso nascondere i contenuti)

Grazie in anticipo.