Оскільки це питання набирає багато переглядів, і це була прийнята відповідь, я відчув потребу додати таку відмову від відповідальності:
Ця відповідь була специфічною для запитання 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}