CSS だけを使用すると、列が最適な方法のように見えます。

HTML
<strong>
各ツイートは、ユーザー名と<p>
ツイート本文のペアです。これらを好きなように変更しますが、一致するように CSS を変更してください。
<div class="threecol">
<strong>@someone</strong>
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae.</p>
<strong>@nextuser</strong>
<p>...</p>
</div>
CSS
この CSS はコンテナー用です。仕様 (幅、高さ、非表示のオーバーフロー) 以外は、列の設定を追加するだけです。
.threecol {
height: 200px;
width: 600px;
margin: auto;
overflow: hidden;
-webkit-column-count: 3;
-moz-column-count: 3;
column-count: 3;
}
これは、つぶやきを s と一致させたいスタイルのためのもの@name
です。
p {
display: inline;
width: 30%;
}
<p>
これにより、aと次のツイートの間に改行が発生します。
p:after {
display: block;
content: '';
margin: 10px 0;
}
ブラウザの互換性
この単純なセットアップでは、ほとんどのブラウザーで問題なく動作するはずです。古いブラウザーの場合、すべてが積み上げられているだけで、見た目は問題なく、ほぼ同じ数のツイートが表示されます。

問題
- ツイートが (非表示の) 4 番目の列に折り返されると、ツイートが途切れる可能性があります。
- jQuery は、列内の要素の上部/左と (一見間違っているように見える) 幅/高さを正しく報告しません。
- これは W3 標準のドラフトに基づいており、構文は変更される可能性があります。とは言っても、現時点ではあまり変わらないかもしれません。
代替案
Masonry プラグインを検索して、底部がコンテナーの底部より下にある要素を非表示にすることができます。おそらく固定高さのコンテナに最適なソリューションです。