Es extraño que te funcione con un span y no con un div. Pero si lo hace, ha de ser por su propiedad natural display:inline (div tiene un display:block por naturaleza).
Intenta poner esa línea, a ver si de casualidad te da el efecto que buscas. Suerte