私は、Pinterest.comのdivレイアウトを複製しようとしています。具体的には、列の数がブラウザーのサイズ変更に応じて増減するように調整し、垂直方向の積み重ねが隣接する列の高さに依存しないようにします。ソースコードは、各divが絶対位置であることを示しています。共同創設者は、カスタムjQueryとCSSで行われると述べたQuoraの投稿に回答しました。結果を左から右に並べ替えてください。あなたがそれを私自身にするためにあなたが提供できるどんな方向も大いに感謝されます。
私は、Pinterest.comのdivレイアウトを複製しようとしています。具体的には、列の数がブラウザーのサイズ変更に応じて増減するように調整し、垂直方向の積み重ねが隣接する列の高さに依存しないようにします。ソースコードは、各divが絶対位置であることを示しています。共同創設者は、カスタムjQueryとCSSで行われると述べたQuoraの投稿に回答しました。結果を左から右に並べ替えてください。あなたがそれを私自身にするためにあなたが提供できるどんな方向も大いに感謝されます。
回答:
Pinterestスクリプトを書きました。IDはレイアウトとは関係なく、他のインタラクション関連のJSに使用されます。これがどのように機能するかの基本です:
予め:
アレイをセットアップします。
各ピンをループします。
結果は軽量です。Chromeでは、50以上のピンのページ全体をレイアウトするのに10ミリ秒未満かかります。
Wookmarkについて同じ質問を何度も受けたため、jQueryプラグインをリリースしました。まさにこのタイプのレイアウトを作成します。ここで表示-Wookmark jQueryプラグイン
すべてのオプションを検討した結果、Pinterestと同様のレイアウトを次のように実装しました。
すべてのDIVは次のとおりです。
div.tile {
display: inline-block;
vertical-align: top;
}
これにより、浮いたときよりも列の位置がよくなります。
次に、ページが読み込まれると、すべてのDIVをJavaScriptで反復して、それらの間のギャップを削除します。次の場合、問題なく機能します。
このアプローチの利点-HTMLは検索エンジンにとって意味があり、JavaScriptがファイアウォールで無効化/ブロックされている場合に機能します。HTMLの要素のシーケンスは論理シーケンスと一致します(古いアイテムより前の新しいアイテム)。
それらは、IDを持つ列によってエンティティを分割し(悪い解決策...クラス名を使用する方が良い)、列グループによって位置を計算します。
display: inline-block
と思いますが、異なる垂直高さのアイテムは一緒に座っていません。
float:left;
overflow: hidden;
なぜこれを試してみませんか?シンプルなjsもの
http://vanilla-masonry.desandro.com/index.html
または、jQueryを使用してこれをスクロールロードすることもできます。
フロートを使用し、パーセンテージとmin-widthを使用してdiv幅のサイズを設定して、最小幅に達するとdivを自動的に強制的に落とすことができますか?私たちがhttp://www.goldtree.co.za/workで作業する方法