Div и span являются похожими на подстановочные метки, которые не имеют смыслового значения. Вы можете использовать их для группировки или идентификации элементов, когда не подходит другой тег (например, таблицы, списки или заголовки). Их различия:
div
span
Вы всегда можете изменить их свойство display по умолчанию с помощью css, но вы не можете изменить тип элементов, которые они могут содержать, независимо от значения свойства display. Например:
<span style="display:block">
this will be displayed like a div,
but still cannnot contain block level elements
</span>
Поскольку они являются «общими» тегами, они обычно используются для микроформатов в сочетании с классами. Например: <span class="tel">555-5555</span>
, потому что нет тега <tel>
.
Что касается переноса изображения, если изображение напрямую связано с текстом, вы можете использовать:
<p><img src="image.jpg" style="float: right" alt="my image" />Long paragraph.</p>
И никаких div или span не требуется. Однако, если это не так, вы можете использовать:
<p>unrelated to the image</p>
<div>
<img src="image.jpg" style="float: right" alt="my image" />
<p>Long paragraph.</p>
</div>
Здесь div
необходимо, потому что p
является элементом уровня блока.
Наконец, для получения дополнительной информации вы можете проверить официальную тему спецификации W3C о div и span.