Rumah > Artikel > hujung hadapan web > Bagaimanakah saya boleh mencipta grid batu dengan CSS Grid Layout di mana setiap elemen mempunyai lebar yang sama tetapi elemen bawah sentiasa 50px di bawah elemen atas?
Soalan meminta cara untuk mencapai masonry kesan grid dalam CSS dengan elemen ketinggian yang berbeza-beza, di mana setiap elemen adalah lebar yang sama tetapi elemen bawah sentiasa 50px di bawah elemen atas. Pengguna cuba menggunakan apungan dan Flexbox tetapi menghadapi masalah.
Penyelesaian ialah menggunakan Reka Letak Grid CSS, yang menyediakan reka letak Grid yang berkuasa dan cara yang fleksibel untuk mencipta grid. Kod CSS berikut menunjukkan cara untuk mencapai kesan yang diingini:
grid-container { display: grid; /* Enables the grid layout */ grid-auto-rows: 50px; /* Defines the height of each row to 50px */ grid-gap: 10px; /* Sets the gap between the grid items */ grid-template-columns: repeat(auto-fill, minmax(30%, 1fr)); /* Defines the columns to have a minimum width of 30% */ } [short] { grid-row: span 1; /* Makes the element span only one row */ background-color: green; } [tall] { grid-row: span 2; /* Makes the element span two rows */ background-color: crimson; } [taller] { grid-row: span 3; /* Makes the element span three rows */ background-color: blue; } [tallest] { grid-row: span 4; /* Makes the element span four rows */ background-color: gray; }
Kod HTML untuk menggunakan reka letak ini adalah seperti berikut:
<grid-container> <grid-item short></grid-item> <grid-item short></grid-item> <grid-item tall></grid-item> <grid-item tall></grid-item> <grid-item short></grid-item> <grid-item taller></grid-item> <grid-item short></grid-item> <grid-item tallest></grid-item> <grid-item tall></grid-item> <grid-item short></grid-item> <grid-item tallest></grid-item> <grid-item tall></grid-item> <grid-item taller></grid-item> <grid-item short></grid-item> <grid-item short></grid-item> <grid-item short></grid-item> <grid-item short></grid-item> <grid-item tall></grid-item> <grid-item short></grid-item> <grid-item taller></grid-item> <grid-item short></grid-item> <grid-item tall></grid-item> <grid-item short></grid-item> <grid-item tall></grid-item> <grid-item short></grid-item> <grid-item short></grid-item> <grid-item tallest></grid-item> <grid-item taller></grid-item> <grid-item short></grid-item> <grid-item tallest></grid-item> <grid-item tall></grid-item> <grid-item short></grid-item> </grid-container>
Dengan kod ini, anda boleh mencapai batu kesan grid dengan unsur ketinggian yang berbeza-beza, disusun dengan cara yang konsisten dan responsif.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mencipta grid batu dengan CSS Grid Layout di mana setiap elemen mempunyai lebar yang sama tetapi elemen bawah sentiasa 50px di bawah elemen atas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!