Pues si tienes un contenedor de X píxeles difícilmente se adaptará. 
 
Entonces tu contenedor tiene que tener algo como:    
Código CSS:
Ver originaldiv#contenedor {
  width: 100%; /* aunque esto es redundante y no hace falta especificarlo */
  max-width: 640px;
}
  
Y luego usas 
una meta-etiqueta donde especificas que el ancho del 
viewport —área visible— sea igual al ancho de dispositivo:    
Y así el ancho de la página siempre será igual al ancho del dispositivo o como máximo esos 640 píxeles.