Dado que esta pregunta está ganando muchas visitas y esta fue la respuesta aceptada, sentí la necesidad de agregar el siguiente descargo de responsabilidad:
Esta respuesta fue específica para la pregunta del OP (que tenía el ancho establecido en los ejemplos). Mientras funciona, requiere que tengas un ancho en cada uno de los elementos, la imagen y el párrafo. A menos que ese sea su requisito, le recomiendo usar la solución de Joe Conlin, que se publica como otra respuesta a esta pregunta.
El spanelemento es un elemento en línea, no puede cambiar su ancho en CSS.
Puede agregar el siguiente CSS a su tramo para que pueda cambiar su ancho.
display: block;
Otra forma, que suele tener más sentido, es utilizar un <p>elemento como padre para su <span>.
<li id="CN2787">
<img class="fav_star" src="images/fav.png">
<p>
<span>Text, text and more text</span>
</p>
</li>
Como <p>es un blockelemento, puede establecer su ancho usando CSS, sin tener que cambiar nada.
Pero en ambos casos, dado que ahora tiene un elemento de bloque, necesitará hacer flotar la imagen para que su texto no quede debajo de la imagen.
li p{width: 100px; margin-left: 20px}
.fav_star {width: 20px;float:left}
En lugar de PS float:leften la imagen, también se puede poner float:righten li ppero en ese caso, también tendrá que text-align:leftvolver a alinear el texto correctamente.
PSS Si siguió adelante con la primera solución de no agregar un <p>elemento, su CSS debería verse así:
li span{width: 100px; margin-left: 20px;display:block}
.fav_star {width: 20px;float:left}