El tema de los DIV es algo que me trae a veces de cabeza, sobre todo cuando uno trabaja contrarreloj y termina usando tablas...
Siguiendo con lo expuesto, pongn un ejemplo en el que no logro que el ancho del div se ajuste al contenido en los casos 2 y 3. He probado a poner clear:both en todos lados pero nada.
Sin embargo en el caso 1 va perfecto sin ponerlo. Todo esto en Firefox.
Código:
<html>
<body>
<div style="border-style:solid;border-color:red;border-width:2px;">
<!-- CASO1: el div ajusta el contenido, se ve bien (sin clear:both)
asdf asd fasd fasdf kasdlkasdl kasdlk aslkd faslkd jfalñskj lañksj flñaskjd lñaks jdlñaskjf lñaksjd lñkajsdlñ ajsdlñk jasñldf jasldk jfalsdj añsdj falñsdj alñsdj lñasd jalñsdj faslñdj faslñkf jaslfk j
-->
<!-- CASO2: Se sale por la derecha
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-->
<!-- CASO3 -->
<table width="2000px" border=1><tr><td>hola qué tal</td></tr></table>
</div>
<div style="clear:both"></div>
</body>
</html>