1

要素間の空白を最小限に抑える方法で、要素で埋められるレイアウトを作成しようとしています。問題は、私が試したすべてのライブラリが、定義された方法で左から右、上から下にアイテムを並べ替えることです。次に例を示します。

<div id="layout_wrapper">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
</div>

このアイテムは、layout_wrapper を左から右、上から下に 1 から始まり 4 で埋めます。しかし、この方法では、他の適切なアイテムで埋めなければならないギャップが生じる可能性があります。たとえば、1、4、3、2 としましょう。レイアウトを埋める最適な方法。

しかし、私はこれを機能させることができません。これは、動的なコンテンツの読み込みなど、コンテンツを適切な方法で配置する必要がある状況では一握りであることはわかっていますが、私の場合は別の動作が必要です。

それで、masonry.jsまたは他の同様のライブラリでこれを機能させて、ビンパッキングアルゴリズムを必要な方法で機能させる方法を知っている人はいますか? ありがとう。

4

1 に答える 1

1

2D ビン パッキングは非常に困難です。kd ツリーを試して、再帰的にツリーを再分割できます ( http://www.blackpawn.com/texts/lightmaps/default.html )。または、完璧な石積みがあります ( http://www.drewdahlman.com/meusLabs/?p=218 )。試したことはありませんが、正確なソルバーのようです。

于 2013-05-29T15:06:15.607 に答える