編集:まあ、これは奇妙です。私はそれをいじっていましたが、マージンを拡張して .blockData を 400px (列の幅) よりも大きくすると、期待どおりに 2 番目の項目が下に追加されることがわかりました。そうしないと、最初の項目の右側に 2 番目の項目が追加され、予期しない結果が生じます。私は答えに満足していますが、それは少しハックのようです:/. 以下の動作について誰かが説明を持っている場合は、ぜひ聞きたいです。
よし、stackoverflow の優秀な人々のおかげで、必要なものはほとんど揃っています。私は入札を行うために CSS3 列を取得しようとしています。問題は実際にはクロムにあります。.blockdata
次のページでは、列化された.maincontent
コンテナーに3 つ以上のdivdiv
がある場合は期待どおりに動作しますが、そこに div が 2 つしかない場合.blockdata
は、列を無視して並べて配置します。これは、クロム (Firefox と IE 10 でテスト済み) でのみ発生し、2 つのアイテムでのみ発生します。フィドルを投稿したので、私の意味がわかります。
デモ: http://jsfiddle.net/NMZhU/
maincontent div 内に次のような多数の div があります。
<div class="blockData">
<a class="listData" href="#">Activity11</a>
<a class="listDelete" href="#"><img width="30px" src="http://localhost/view/images/Delete.png"/></a>
<a class="listEdit" href="#"><img width="30px" src="http://localhost/view/images/Settings.png"/></a>
</div>
CSS を使用:
#mainContent /* The containing div */
{
position: absolute;
top: 50px;
bottom: 50px;
margin: 10px;
column-width: 400px;
-webkit-column-width: 400px;
-moz-column-width: 400px;
-webkit-column-break-inside : avoid;
-moz-column-break-inside : avoid;
column-gap: 10px;
-webkit-column-gap: 10px;
-moz-column-gap: 10px;
}
.blockData /* The divs inside are all of this class */
{
position: relative;
width: 380px;
height: 30px;
padding: 4px;
margin: 0px 0px 10px 0;
border: 4px outset grey;
background: lightgrey;
display: inline-block;
}
2 つを除くすべての .blockData div を削除すると、予期しない動作が表示されます (Chrome のみ)。これを回避する方法がない場合は理解できますが、これで解決する前に確認したいと思います。