この質問の恐ろしいタイトル、私は知っています。ごめん。
this に似た4 つの div があります。私がやりたいことは、HTMLの構造を変更せずに、div番号2と4の間の垂直スペースを削除することです。CSSだけで行うことは可能ですか(もちろん、負のマージンやその他の非一般的なソリューションはありません)? また、div 2 が 1 よりも長い場合は、div 1 と 3 に垂直スペースを入れないようにします。
望ましい結果は、次のようになります。
ありがとう。
まあ、フロートだけではありません。つまり、絶対位置を使用するか、htmlの構造を変更して、div番号#2と#3を右にフロートさせ、次にdiv#4に左フロートを配置します。
絶対ポジショニングと負のマージンは別のオプションであり、あまり動的ではありませんが、機能します。
最善のオプションは、問題を解決するためにjQueryを少し使用することです。チェックアウト: http: //masonry.desandro.com/