2012-01-07 4 views
6

次のように私は構造を持つWebページを持っている:CSS3列スプリットミッドdivの

<div id="content"> 
    <div class="post"> 
      <p>content1</p> 
    </div> 
    <div class="post"> 
      <p>content2</p> 
    </div> 
    <div class="post"> 
      <p>content3</p> 
    </div> 
    <div class="post"> 
      <p>content4</p> 
    </div> 
</div> 

をそして、私は、このような各div要素の間の距離(マージン)は2列レイアウトのためのCSS3カラムを使用しています.postは上、下、左、右は20pxです。私が抱えている問題は、時には左下のdiv.postの底が切り取られ、右の列の上端で継続するということです。

右の列に分割して表示するのではなく、左の列の下部に留まるのに十分なdiv.postを取得できません。私が得ることができるどんな助けにも感謝します!ありがとう!

また、各div.postの高さが異なる場合があります。左にあるすべてのフローティングがうまくいきません。

EDIT:

#content { 
    margin-bottom:20px; 
    width:910px; 
    -webkit-column-count: 2; 
    -webkit-column-gap: 0; 
    -moz-column-count: 2; 
    -moz-column-gap: 0;  
    column-count: 2; 
    column-gap: 0; 
} 

.post { 
    width:410px; 
    margin:20px; 
    padding:10px; 
} 
+1

経由

-webkit-column-break-inside: avoid; page-break-inside: avoid; break-inside: avoid; 

はあなたにも、あなたのCSSを投稿することができますか? – Emil

+2

ここで問題を再現しました:http://jsfiddle.net/P7vqr/ – mwcz

+0

ありがとう、@mwcz – redgem

答えて

5

私はCSS3 columnsを理解するように、これは意図した動作である。ここでは関係CSSです。それらは複数の列、新聞のようなテキストをサポートするように設計されており、各列は次の列に流れます。私はまだ仕様を読んでいないので、ブロックレイアウトのためにそれらを使用することは実行可能かもしれません。

編集:私は今日これを見つけました:controlling wrapping in css3 columns。私はそれを試していないことを認めますが、あなたが何をしているかのように聞こえます。次のコードで内部要素壊す

+0

本当ですが、divを強制的に破らないようにしたいと考えていました。コンテンツレイアウトにとって望ましい動作であるようだ。 – redgem

+0

私は私が遭遇した可能な解決策で自分の答えを更新しました。 – mwcz

1

防止列:CSS Tricks

+1

これは子要素を記録するため、この例では '.post'です。 –

関連する問題