2011-12-30 7 views
2

ブロックがたくさん残っています。彼らはさまざまな高さです。いくつかの短い、いくつかの背の高い。CSSの「選択的な」浮動小数点のクリア

これらのブロックは動的に生成されるため、各ブロックの高さ(またはその数)を予測することはできません。しかし、柔軟性が必要なので、ブロックがすべて1行に収まらない場合は、2行目が必要です。

問題:

imageは私が自分の列を形成するスピルオーバーブロックを必要とする:ブロックは高さを変化させることであるので、次の行に波及任意のブロックは、既存のフロートの間で「囲ま」ますimage

私はこれが正しい動作であることを知っています(左側のポジションよりも高いポジションを浮かべています)が、これには最適な解決策はありますか?私はHTML構造(と明らかに任意のCSS)を変更することができますが、clear: leftでハードコードすることはできません。ブロック上

Here's a jsFiddle.

答えて

7

使用display: inline-block。実際に要素の周りにテキストを折り返す必要がある場合は、floatを保存してください。

結果:http://jsfiddle.net/EQyVy/18/

+0

絶対に天才です。ありがとう! (私はそれがまるで何かばかげた単純なものだと知っていた) – benesch

+1

'floatの上に' display:inline-block'を使うことについて+1の説明があります。 – Wex

関連する問題