Rumah > hujung hadapan web > tutorial css > 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?

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?

Linda Hamilton
Lepaskan: 2024-11-17 11:35:02
asal
381 orang telah melayarinya

How can I create a masonry grid with CSS Grid Layout where each element has the same width but the bottom element is always 50px below the top element?

Buat Grid Masonry dengan Reka Letak Grid CSS (atau CSS Lain)

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.

Menggunakan Reka Letak Grid CSS

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;
}
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan