Cita:
Iniciado por memoadian pon un ancho fijo, a cada div o bien la propiedad float, para que tomen el ancho de su contenido.
memoadian si le pone un ancho fijo solamente, los div igual se pondrían uno debajo del otro, y esto se debe a que se trata de elemento de bloque. Para que queden uno al lado del otro, o en una sola linea como dice el título, lo que se debe hacer es cambiar el comportamiento de los div involucrados. Es decir que se comporten como elementos de linea:
o flotar los div tal como has dicho.
Pero esto no implica que sea para que tomen el ancho de su contenido, por ejemplo aplicando float sin fijar el ancho hace que tome el 100% del espacio disponible.
En consecuencia, y disculpa mi atrevimiento, no es muy precisa tu respuesta.
Si estoy equivocado desde ya me disculpo, pero creo que no es correcto, o mejor dicho no es muy claro lo que propones.
Saludos