CSSフロートが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を調べる)と、「一部のサンプルテキスト」が赤で、赤い背景がフロートされたDIV全体に広がっていることがわかります。赤い背景の不要な部分を隠す方法があると確信していますが、それでも境界線が切り取られ、DIVの下に隠されたままになります。理想的には、背景色と境界線が有効なテキストスペースのみを占め、フローティングDIVの下に忍び寄らないようにする必要があります。この効果は可能ですか?
私はfloatプロパティを列の代わりとしてではなく、その周りにテキストが流れるブロックとして使用していることに注意してください。これまでのところ、提案されたソリューションはどれもこれを考慮していません。わかりやすくするために、ここにいくつかの画像があります。
これは私が得るものです:
これが私が欲しいものです:
どちらの例でも、テキストが下部に到達すると、最終的なテキストがフロート部分を包み込むことに気付くでしょう。2番目の例は、「いくつかのサンプルテキスト」を含むdivの幅を直接指定することで実現できます。幅を指定したくありません。周囲のテキストと同じ幅が必要なので、冗長に見えます。しかし、おそらくそれは不可能ですか?