これは、動的グリッドまたはおそらくPinterest のようなグリッド として知られています。Pinterestによって普及しました。
基本的に、CSS と HTML だけではこれを行うことはできません。このタイプのグリッドは、Javascript またはサーバー側の処理で処理する必要があります。Javascript を使用して、必要なことを正確に実行する多くの jQuery プラグインの 1 つをチェックすることをお勧めします(最初にリンクしたサイトでは、レイアウトにプラグインが使用されていることに注意してください)。
これらのどれでもうまくいくはずです。
Masonryでは、CSS を使用してコンテナの幅とブロック間の間隔を設定しています。Javascript で必要な列の幅を指定します。ブロックの幅と間隔の計算により、コンテナー内の列数が決まります。
WookmarkとBlocksItには、同様の構成オプションがあります。コンテナの幅を指定してから、ブロックの幅を指定できます。それとオフセット(ブロック間の距離) の間に、同じ幅の 3 つの列になるように配置することができます。
Freetileはそのままでは同じ幅の列(その機能の 1 つ) をサポートしていませんが、CSS を少し変更したり、プラグインを直接変更したりすることで、同じことを実現できます。
ここでの主な部分は、これらのプラグインの 1 つをセットアップして動作させることです。それが整ったら、好みに合わせて CSS を調整するだけです。これらの各プラグインは、実用的な例、コード サンプル、およびドキュメントを提供します。Masonry の単純な実装は次のようになります。
HTML:
<div id="grid-container">
<div class="post">...</div>
<div class="post">...</div>
<div class="post">...</div>
<div class="post">...</div>
<div class="post">...</div>
</div>
CSS:
#grid-container {
width: 940px; //width of your container
}
.post {
margin: 10px; //spacing between each block/post
}
Javascript:
$('#grid-container').masonry({
itemSelector: '.post', //selector for each block
columnWidth: 300 //width of your columns
});
各ブロックポストは300px
幅広で10px
、周囲に余裕があります。最終的に 3 つの列になり、各列10px
の間に余白があります。
リストされている各プラグインは、個人的/商業的使用が無料であるような方法でライセンスされているため(それぞれのライセンスについては各プラグインを参照してください)、心配する必要はありません。