Rumah > hujung hadapan web > tutorial css > Menguasai Reka Letak Fleksibel: CSS Flexbox VS Grid untuk Reka Bentuk Responsif

Menguasai Reka Letak Fleksibel: CSS Flexbox VS Grid untuk Reka Bentuk Responsif

DDD
Lepaskan: 2025-01-22 18:10:11
asal
644 orang telah melayarinya

Siaran ini meneroka pelbagai kaedah untuk mencipta senarai kad yang responsif dan diedarkan secara mendatar menggunakan CSS Flexbox dan Grid. Kami akan menangani cabaran untuk mengekalkan saiz dan jarak kad yang konsisten merentas saiz skrin yang berbeza.

Jadual Kandungan

  • Jadual Kandungan
  • Cabarannya
  • CSS Flexbox: Senarai Kad Fleksibel
  • Pengagihan Kad Sekata dengan flex-grow dan flex-basis
  • Grid CSS: Penyelesaian Responsif
  • Ringkasan

Cabarannya

Komponen galeri atau senarai selalunya memerlukan kad (artikel, produk, imej) untuk disesuaikan dengan lebar bekas. Setiap kad harus mengubah saiz secara berkadar, mengekalkan ketinggian, lebar dan jarak yang sama. Reka letak seharusnya mengalir semula dengan lancar merentas pelbagai saiz skrin.

Mastering Flexible Layouts: CSS Flexbox VS Grid for Responsive Design

Struktur HTML asas dan CSS minimum mungkin pada mulanya menghasilkan pengedaran kad yang tidak sekata:

Mastering Flexible Layouts: CSS Flexbox VS Grid for Responsive Design

CSS Flexbox: Senarai Kad Fleksibel

Flexbox menawarkan pendekatan yang mudah. flex-wrap: wrap membolehkan pembalut ke baris baharu dan gap mengawal jarak:

<code class="language-css">.list-items {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}</code>
Salin selepas log masuk
Salin selepas log masuk

Ini menghasilkan aliran mendatar:

Mastering Flexible Layouts: CSS Flexbox VS Grid for Responsive Design

Walau bagaimanapun, menetapkan lebar tetap untuk .item (width: 100px;) menghalang kad daripada berkembang untuk mengisi ruang yang tersedia, meninggalkan jurang:

Mastering Flexible Layouts: CSS Flexbox VS Grid for Responsive Design

Menggunakan sifat justify-content (seperti space-between, space-around, dll.) tidak menyelesaikan masalah pengagihan sekata dengan sempurna:

Mastering Flexible Layouts: CSS Flexbox VS Grid for Responsive Design

Agihan Kad Sekata dengan flex-grow dan flex-basis

flex-basis menetapkan saiz kad awal, manakala flex-grow: 1 (atau flex: 1) membenarkan pertumbuhan berkadar:

<code class="language-css">.item {
  /* other styles */
  flex: 1;
  flex-basis: 100px;
}</code>
Salin selepas log masuk
Salin selepas log masuk

Ini meningkatkan pengedaran, tetapi kad terakhir mungkin masih mengembang tidak sekata:

Mastering Flexible Layouts: CSS Flexbox VS Grid for Responsive Design

Grid CSS: Penyelesaian Responsif

Grid CSS menyediakan penyelesaian yang lebih mantap. display: grid dan gap digunakan sama seperti Flexbox:

<code class="language-css">.list-items {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}</code>
Salin selepas log masuk
Salin selepas log masuk

Untuk responsif, grid-template-columns dengan auto-fit, minmax() dan repeat() adalah kunci:

<code class="language-css">.item {
  /* other styles */
  flex: 1;
  flex-basis: 100px;
}</code>
Salin selepas log masuk
Salin selepas log masuk

Ini mencipta reka letak responsif sepenuhnya:

Ringkasan

Kedua-dua Flexbox dan Grid menawarkan keupayaan susun atur yang berkuasa. Flexbox cemerlang dalam susun atur satu dimensi, manakala Grid bersinar untuk kawalan dua dimensi. Memilih alat yang betul bergantung pada keperluan reka bentuk khusus.

Selamat pengekodan! ?

? Ketahui tentang Vue 3 dan TypeScript dengan buku baharu saya Learning Vue!

? Hubungi saya di X | LinkedIn.

Suka siaran ini? Kongsikan! ?? ?

Atas ialah kandungan terperinci Menguasai Reka Letak Fleksibel: CSS Flexbox VS Grid untuk Reka Bentuk Responsif. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan