Когда CSS float используется для DIV, другие DIV, которые не являются плавающими, продолжают занимать пространство плавающего DIV. Хотя я уверен, что это сделано намеренно, я не знаю, как добиться желаемого эффекта. Пожалуйста, рассмотрите этот пример:
<html>
<div style="width:400px">
<div style="width:150px;float:right;border:thin black solid">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam.</div>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
<div style="background-color:red;border:thin black solid">Some sample text</div>
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
</div>
</html>
Если вы вставите этот HTML-код в браузер (или просмотрите его jsfiddle), вы заметите, что "Некоторый образец text" красного цвета, и красный фон распространяется на весь плавающий DIV. Хотя я уверен, что есть способ скрыть части красного фона, которые мне не нужны, он все равно оставит границу обрезанной и скрытой под DIV. В идеале я хочу, чтобы цвет фона и граница занимали только допустимое текстовое пространство и не ползали под плавающим DIV. Возможен ли этот эффект?
Обратите внимание, что я использую свойство float не как замену столбцам, а как блок, вокруг которого будет обтекать текст. Пока ни одно из предложенных решений не учитывает это. Для наглядности вот несколько изображений.
Вот что я получаю:
Это то, что я хочу:
Вы заметите, что в обоих примерах окончательный текст обтекает плавающую часть по мере того, как текст достигает нижней части. Мой второй пример, который я могу получить, напрямую указав ширину div, содержащего «Некоторый образец текста». Я не хочу указывать ширину. Это кажется излишним, так как я хочу, чтобы ширина текста была такой же, как у текста вокруг него. Но, может быть, это невозможно?