Como essa pergunta está ganhando muitas visualizações e essa foi a resposta aceita, senti a necessidade de adicionar a seguinte isenção de responsabilidade:
Essa resposta era específica para a pergunta do OP (que tinha a largura definida nos exemplos). Enquanto funciona, requer que você tenha uma largura em cada um dos elementos, a imagem e o parágrafo. A menos que essa seja sua exigência, recomendo usar a solução de Joe Conlin, que é postada como outra resposta a essa pergunta.
O spanelemento é um elemento embutido, você não pode alterar sua largura em CSS.
Você pode adicionar o seguinte CSS ao seu período para poder alterar sua largura.
display: block;
Outra maneira, que geralmente faz mais sentido, é usar um <p>elemento como pai para o seu <span>.
<li id="CN2787">
<img class="fav_star" src="images/fav.png">
<p>
<span>Text, text and more text</span>
</p>
</li>
Como <p>é um blockelemento, você pode definir sua largura usando CSS, sem precisar alterar nada.
Mas em ambos os casos, uma vez que agora você tem um elemento de bloco, você precisará fazer a imagem flutuar para que o texto não fique todo abaixo da imagem.
li p{width: 100px; margin-left: 20px}
.fav_star {width: 20px;float:left}
PS Em vez de float:leftsobre a imagem, você pode também colocar float:rightem li pmas, nesse caso, você também vai precisar text-align:leftpara realinhar o texto corretamente.
PSS Se você avançou com a primeira solução de não adicionar um <p>elemento, seu CSS deve ser assim:
li span{width: 100px; margin-left: 20px;display:block}
.fav_star {width: 20px;float:left}