Поскольку этот вопрос набирает много просмотров и это был принятый ответ, я почувствовал необходимость добавить следующий отказ от ответственности:
Этот ответ был специфическим для вопроса OP (ширина которого была установлена в примерах). Хотя он работает, он требует, чтобы у вас была ширина каждого из элементов, изображения и абзаца. Если это не ваше требование, я рекомендую использовать решение Джо Конлина, которое опубликовано как еще один ответ на этот вопрос.
span
Элемент является встроенный элемент, вы не можете изменить его ширину в CSS.
Вы можете добавить следующий CSS в свой диапазон, чтобы вы могли изменять его ширину.
display: block;
Другой способ, который обычно имеет больше смысла, - использовать <p>
элемент в качестве родительского для вашего <span>
.
<li id="CN2787">
<img class="fav_star" src="images/fav.png">
<p>
<span>Text, text and more text</span>
</p>
</li>
Поскольку <p>
это block
элемент, вы можете установить его ширину с помощью CSS, ничего не меняя.
Но в обоих случаях, поскольку теперь у вас есть блочный элемент, вам нужно будет переместить изображение, чтобы весь текст не располагался ниже изображения.
li p{width: 100px; margin-left: 20px}
.fav_star {width: 20px;float:left}
PS Вместо того float:left
на изображении, вы можете также положить float:right
на , li p
но в этом случае вам также необходимо text-align:left
правильно выровнять текст.
PSS Если вы выбрали первое решение - не добавлять <p>
элемент, ваш CSS должен выглядеть так:
li span{width: 100px; margin-left: 20px;display:block}
.fav_star {width: 20px;float:left}