Rumah > hujung hadapan web > tutorial css > Bagaimana Memaksa Dua Baris Empat Elemen Setiap Satu Menggunakan Flexbox Apabila Mengubah Saiz Lapan Elemen Secara Dinamik?

Bagaimana Memaksa Dua Baris Empat Elemen Setiap Satu Menggunakan Flexbox Apabila Mengubah Saiz Lapan Elemen Secara Dinamik?

Susan Sarandon
Lepaskan: 2024-12-29 08:07:10
asal
295 orang telah melayarinya

How to Force Two Rows of Four Elements Each Using Flexbox When Dynamically Resizing Eight Elements?

Susun atur Flexbox: 4 elemen setiap baris

Apabila menggunakan Flexbox untuk mengubah saiz 8 elemen pada halaman secara dinamik, cara memaksanya dibahagikan ke untuk dua baris (4 setiap baris)?

Memandangkan coretan kod berikut:

<div class="parent-wrapper">
  <div class="parent">
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
  </div>
</div>
Salin selepas log masuk
.parent-wrapper {
  height: 100%;
  width: 100%;
  border: 1px solid black;
}

.parent {
  display: flex;
  font-size: 0;
  flex-wrap: wrap;
  margin: -10px 0 0 -10px;
}

.child {
  display: inline-block;
  background: blue;
  margin: 10px 0 0 10px;
  flex-grow: 1;
  height: 100px;
}
Salin selepas log masuk

Penyelesaian:

Masalahnya ialah dengan flex-wrap: wrap on the flex bekas , yang membenarkan elemen membalut. Walau bagaimanapun, flex-grow: 1 membenarkan pertumbuhan tanpa had pada unsur, menyebabkan unsur tersebut gagal untuk membalut apabila ia kehabisan ruang.

Penyelesaian adalah untuk menentukan lebar untuk elemen, memaksanya untuk membalut:

.parent {
  display: flex;
  flex-wrap: wrap;
}

.child {
  flex: 1 0 21%; /* 展开说明如下 */
  margin: 5px;
  height: 100px;
  background-color: blue;
}
Salin selepas log masuk

Nilai pertama sifat flex (1 dalam contoh kami) mengagihkan ruang secara sama rata kepada semua elemen, nilai kedua (iaitu 0) menetapkan lebar minimum kepada 0, dan nilai ketiga (iaitu 21%) mentakrifkan lebar maksimum elemen kepada 21% daripada lebar yang tersedia. Dengan menetapkannya seperti ini, elemen akan membalut sebelum mencapai lebar maksimum, mencipta susun atur 4 elemen setiap baris.

Atas ialah kandungan terperinci Bagaimana Memaksa Dua Baris Empat Elemen Setiap Satu Menggunakan Flexbox Apabila Mengubah Saiz Lapan Elemen Secara Dinamik?. 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