Pinterest の動的列レイアウトが垂直方向のスタッキングの独立性を実現する方法
Pinterest の特徴的なレイアウトは、ブラウザのサイズ変更に合わせて列幅と垂直方向のピンの配置を動的に調整します。隣接する列の高さが相互に影響する従来のスタッキングとは異なり、Pinterest は垂直方向の独立性を維持するために絶対位置決め手法を採用しています。
主要原則:
-
絶対位置: すべてのピン コンテナは絶対位置に配置されており、ピン コンテナの正確な制御が可能です。 location.
-
動的列レイアウト: 列の数は、使用可能なブラウザーの幅と事前に決定された列幅に基づいて計算されます。
-
高さの追跡: 配列はピンと同様に各列の高さを格納するために使用されます。
-
最短列の選択: ピンは追加時に戦略的に最短の列に配置されます。
アルゴリズム詳細:
-
初期化:
- ピン コンテナは絶対配置されます。
- 列の幅と余白
- それぞれの高さを追跡するために配列が作成されます。
-
ピン配置ループ:
- ピンは 1 つずつ反復処理されます。
- 最も短い列を特定します。
- ピンの左位置を設定します列の幅とマージンに列インデックスを掛けたものです。
- ピンの上部の位置は、その時点で最も短い列の配列に保存されている高さに設定されます。
- 最も短い列の高さ列はピンの高さを追加することで更新されます。
-
最適化パフォーマンス:
- このレイアウト戦略により、垂直方向の積み重ねが隣接する列の高さに依存せず、応答性の高い効率的なレイアウトが実現します。
以上がPinterest は動的な列レイアウトで垂直方向のスタッキングの独立性をどのように実現していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。