Reka Letak Susun Div Mutlak: Membongkar Rahsia Pinterest
Reka letak grid menarik Pinterest telah mendapat inspirasi daripada banyak pembangun, tetapi mereplikasi pelarasan lajurnya yang lancar dan susun menegak menimbulkan cabaran. Berikut ialah penyelaman mendalam tentang cara ia dilakukan, berikutan pendedahan Quora daripada salah seorang pengasas bersama Pinterest:
Kedudukan Mutlak dan Skrip Tersuai
Setiap bekas div dalam reka letak Pinterest diletakkan secara mutlak, membenarkan kawalan tepat ke atas penempatannya. Kuncinya terletak pada skrip jQuery dan CSS tersuai yang mengatur kelakuan dinamik reka letak.
Mengira Dimensi Lajur dan Longkang
Sebelum meletakkan div, skrip menentukan lajur lebar dan jidar atau "longkang" antara lajur. Nilai ini mempengaruhi bilangan lajur yang boleh dimuatkan pada halaman.
Penjejakan Ketinggian dengan Tatasusunan Lajur
Suatu tatasusunan dicipta untuk menyimpan ketinggian setiap lajur. Apabila mengira kedudukan "atas" untuk div baharu, skrip mengenal pasti lajur terpendek (yang mempunyai nilai ketinggian terkecil dalam tatasusunan) dan meletakkan div di sana.
Kedudukan Dinamik dan Pelarasan Ketinggian
Kedudukan "kiri" dikira berdasarkan nombor lajur dan lebar lajur campur jidar. Kedudukan "atas" ditentukan oleh ketinggian lajur terpendek pada masa itu. Apabila div ditambahkan, skrip mengemas kini nilai ketinggian lajur yang sepadan untuk mencerminkan ketinggian baharu.
Ringan dan Responsif
Pendekatan ini menghasilkan reka letak yang sangat responsif yang cekap menyesuaikan saiz penyemak imbas dan saiz skrin yang berbeza. Skrip, walaupun kerumitannya, ringan dan memproses reka letak halaman dengan banyak pin dalam masa kurang dari 10 milisaat.
Dengan memahami interaksi rumit kedudukan mutlak dan skrip tersuai, pembangun boleh mencipta reka letak dinamik dan fleksibel yang menyerupai Pinterest secara visual grid yang menarik.
Atas ialah kandungan terperinci Bagaimanakah Pinterest Mencapai Susun Atur Grid Dinamiknya dengan Kedudukan Mutlak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!