Jadual Kandungan
2. Auto-Spacing dengan margin: auto dalam Item Flex
3. Modal fleksibel dan sidebars dengan ukuran dinamik
" > 4. Footer "Sticky" dengan Flexbox (tiada grid diperlukan)
5. Kumpulan dan barangan butang dinamik
6. Mencegah item flex daripada mengecut secara tidak wajar
Petua akhir
Rumah hujung hadapan web Soal Jawab bahagian hadapan Teknik Layout Flexbox Lanjutan

Teknik Layout Flexbox Lanjutan

Jul 29, 2025 am 01:30 AM

Lajur ketinggian yang sama dicapai menggunakan paparan: Flex dengan Flex-Wrap dan Flex: 1 1 200px pada kad, yang membolehkan pembungkus responsif dan penjajaran ketinggian semula jadi tanpa pertanyaan media. 2. Auto-spacing didayakan melalui margin: auto pada item flex, menolak unsur-unsur seperti navigasi ke tepi sambil mengekalkan kawalan susun atur yang bersih. 3. Komponen UI yang dinamik seperti modal menggunakan flex-basis dan flex-grow untuk memperuntukkan ruang tetap dan tersisa, dengan min lebar: 0 Mencegah masalah limpahan. 4. Footer melekit dilaksanakan dengan menetapkan min-ketinggian: 100VH pada bekas dan flex: 1 pada kandungan utama, menolak footer ke bawah secara semulajadi. 5. Kumpulan butang dan bar alat memanfaatkan bekas flex bersarang dengan jurang dan membenarkan kandungan untuk membuat kawalan yang responsif, sama rata. 6. Pengecutan yang tidak diingini dicegah dengan menetapkan MIN-WIDTH: 0 atau MIN-HEIGHT: 0 pada item Flex, memastikan pembungkus teks yang betul dan integriti susun atur. Penggunaan gabungan flex, jurang, margin, dan sifat saiz min membolehkan susun atur yang kuat dan responsif dengan kod minimum.

Teknik Layout Flexbox Lanjutan

Flexbox adalah modul susun atur yang kuat dalam CSS yang melampaui penjajaran dan jarak mudah. Walaupun ramai pemaju biasa dengan sifat asas seperti display: flex , flex-direction , dan justify-content , menguasai teknik flexbox canggih dapat membantu anda membina UI yang kompleks, responsif, dan dikekalkan dengan kurang kod dan lebih sedikit workarounds.

Teknik Layout Flexbox Lanjutan

Berikut adalah beberapa teknik canggih yang memanfaatkan Flexbox dengan cara yang lebih bijak, lebih cekap.


1 .

Kes penggunaan klasik: Membuat grid kad di mana semua item berturut -turut mempunyai ketinggian yang sama, tanpa mengira kandungan.

Teknik Layout Flexbox Lanjutan
 .card-container {
  Paparan: Flex;
  Gap: 1rem;
  Flex-Wrap: Bungkus;
}

.card {
  Flex: 1 1 200px; / * tumbuh, mengecut, lebar min */
  Paparan: Flex;
  flex-arah: lajur;
}
 <div class = "card-container">
  <div class = "card"> ... </div>
  <div class = "card"> ... </div>
  <div class = "card"> ... </div>
</div>
  • flex: 1 1 200px membolehkan item berkembang dan mengecut tetapi mula membungkus apabila masing -masing kurang dari 200px.
  • Menggunakan flex-direction: column pada .card memastikan kandungan menolak footer ke bawah, dan kerana semua kad berada dalam bekas flex, mereka secara semula jadi meregangkan ke item tertinggi dalam baris.

✅ Hasil: Kad ketinggian yang sama yang bertindak balas dengan anggun untuk saiz skrin-tiada pertanyaan JavaScript atau media yang diperlukan.


2. Auto-Spacing dengan margin: auto dalam Item Flex

Anda boleh menggunakan margin: auto pada item flex untuk menolak kandungan ke tepi atau membuat jarak dinamik.

Teknik Layout Flexbox Lanjutan
 .header {
  Paparan: Flex;
  Align-item: pusat;
}

.logo {
  margin-kanan: 1rem;
}

.nav {
  margin-kiri: auto; / * Menolak nav ke kanan */
}
 <header class = "header">
  <div class = "logo"> logo </div>
  <nav class = "nav"> ... </nav>
</header>

Ini amat berguna untuk:

  • Menjajarkan satu item
  • Memusatkan satu item sementara yang lain diselaraskan kiri/kanan
  • Membuat jarak "tekan" tanpa pembalut atau elemen tambahan

? Petua: margin: auto dalam arah flex (utama atau salib) akan menyerap ruang yang tersedia - sangat berguna untuk kawalan susun atur.


3. Modal fleksibel dan sidebars dengan ukuran dinamik

Gunakan flex-basis dan flex-grow untuk membuat komponen UI yang menyesuaikan diri berdasarkan kandungan dan viewport.

 .modal {
  Paparan: Flex;
  Ketinggian: 80VH;
}

.modal-sidebar {
  Flex: 0 0 200px; / * lebar tetap, tidak tumbuh/mengecut */
  Latar Belakang: #F0F0F0;
}

.modal-content {
  Flex: 1; / * mengambil ruang yang tinggal */
  Limpahan: Auto;
}
  • flex: 0 0 200px = flex-grow: 0 , flex-shrink: 0 , flex-basis: 200px
  • Sidebar tetap tetap pada 200px; Kandungan mengisi selebihnya.
  • Bekerja hebat untuk papan pemuka, editor, atau susun atur split-pane.

Bonus: Tambah min-height: 0 atau min-width: 0 Untuk mengelakkan item flex daripada melimpah kerana tingkah laku min-size lalai.


Daripada kedudukan yang kompleks atau JavaScript, gunakan Flexbox untuk pin footer ke bahagian bawah viewport apabila kandungan pendek.

 .page {
  Paparan: Flex;
  flex-arah: lajur;
  Min-ketinggian: 100VH;
}

.main {
  Flex: 1;
}

.footer {
  / * Tiada gaya khas yang diperlukan - ia akan ditolak */
}
 <div class = "page">
  <Header> ... </header>
  <main class = "main"> content </main>
  <footer class = "footer"> © 2025 </footer>
</div>
  • min-height: 100vh memastikan bekas mengisi skrin.
  • flex: 1 pada .main menjadikannya menyerap semua ruang tambahan, menolak kaki ke bawah.
  • Apabila kandungan melebihi viewport, footer secara semulajadi mengikuti.

✅ Bersih, boleh dipercayai, dan responsif sepenuhnya.


5. Kumpulan dan barangan butang dinamik

Buat kawalan jarak jauh atau dikumpulkan (seperti dalam bar alat) menggunakan bekas Flex bersarang.

 .button-kumpulan {
  Paparan: Flex;
  Jurang: 0.5rem;
  Margin-Bottom: 1rem;
}

.button-Group .btn {
  Flex: 1;
  Teks-Align: Pusat;
}

/ * Kumpulan berpecah */
.toolbar {
  Paparan: Flex;
  Justify-Content: Space-antara;
  Align-item: pusat;
  Gap: 1rem;
}
 <div class = "toolbar">
  <div class = "Button-group">
    <Button class = "btn"> berani </butang>
    <Button class = "btn"> italic </button>
  </div>
  <div class = "Button-group">
    <Button class = "Btn"> kiri </butang>
    <Button class = "btn"> kanan </butang>
  </div>
</div>
  • Setiap kumpulan mengambil ruang berkadar.
  • justify-content: space-between Bahagian Alat Memisahkan.
  • Semua butang tetap sejajar dan responsif.

6. Mencegah item flex daripada mengecut secara tidak wajar

Kadang -kadang item flex runtuh apabila ruang ketat - terutamanya dengan teks atau media.

Betulkan dengan:

 .flex-item {
  Min-lebar: 0; / * Membolehkan teks membungkus dan bukannya melanggar susun atur */
  min-ketinggian: 0; / * Sama untuk susun atur menegak */
}

Biasa dalam:

  • Kad dengan teks panjang atau URL
  • Sembang uis dengan gelembung mesej
  • Susun atur dengan bekas flex bersarang

Tanpa min-width: 0 , item Flex menghormati saiz intrinsik kandungan dan tidak akan mengecil di bawahnya-walaupun itu memecahkan susun atur.


Petua akhir

  • Gunakan gap dalam bekas flex (disokong dalam pelayar moden) untuk memudahkan jarak.
  • Elakkan pencampuran width dan flex-basis kecuali disengajakan-mereka boleh bertentangan.
  • Lebih suka flex: 1 ke atas flex-grow: 1 untuk singkatan apabila shrink/asas lalai boleh diterima.
  • Ujian di Mobile: Flexbox disokong dengan baik, tetapi tonton perubahan flex-wrap dan orientasi.

Lanjutan Flexbox bukan mengenai sifat-sifat yang tidak jelas-ia mengenai kombinasi pintar flex , margin , min-size , dan gap untuk mewujudkan susun atur yang bersih dan bersih. Sebaik sahaja anda bergerak melampaui asas-asas, anda akan mendapati Flexbox mengendalikan banyak senario "grid sahaja" dengan keanggunan dan kod minimum.

Pada asasnya, jika ia adalah susun atur 1D (baris atau lajur), Flexbox masih pergi ke-terutamanya apabila kandungan menentukan saiz.

Atas ialah kandungan terperinci Teknik Layout Flexbox Lanjutan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah sifat aria Apakah sifat aria Jul 02, 2025 am 01:03 AM

AriaattributeseNhanceWebaccessibilityforuserswithdisabilitybyprovidingadditionalsemanticInformationToSisIscIveTechnologies

Bagaimanakah React mengendalikan pengurusan fokus dan aksesibiliti? Bagaimanakah React mengendalikan pengurusan fokus dan aksesibiliti? Jul 08, 2025 am 02:34 AM

React sendiri tidak secara langsung menguruskan fokus atau kebolehcapaian, tetapi menyediakan alat untuk menangani isu -isu ini dengan berkesan. 1. Gunakan ref untuk mengurus fokus secara programatik, seperti menetapkan fokus elemen melalui useref; 2. Gunakan atribut ARIA untuk meningkatkan kebolehcapaian, seperti menentukan struktur dan keadaan komponen tab; 3. Beri perhatian kepada navigasi papan kekunci untuk memastikan logik fokus dalam komponen seperti kotak modal adalah jelas; 4. Cuba gunakan elemen HTML asli untuk mengurangkan beban kerja dan risiko ralat pelaksanaan tersuai; 5. React membantu kebolehcapaian dengan mengawal DOM dan menambah atribut ARIA, tetapi penggunaan yang betul masih bergantung kepada pemaju.

Cara meminimumkan permintaan HTTP Cara meminimumkan permintaan HTTP Jul 02, 2025 am 01:18 AM

Mari kita bercakap tentang perkara utama secara langsung: menggabungkan sumber, mengurangkan kebergantungan, dan menggunakan cache adalah kaedah teras untuk mengurangkan permintaan HTTP. 1. Menggabungkan fail CSS dan JavaScript, menggabungkan fail dalam persekitaran pengeluaran melalui alat bangunan, dan mengekalkan struktur modular pembangunan; 2. Gunakan gambar sprite atau inline Base64 gambar untuk mengurangkan bilangan permintaan imej, yang sesuai untuk ikon kecil statik; 3. Tetapkan strategi caching penyemak imbas, dan mempercepatkan pemuatan sumber dengan CDN untuk mempercepat pemuatan sumber, meningkatkan kelajuan akses dan menyebarkan tekanan pelayan; 4. Kelewatan Memuatkan sumber bukan kritikal, seperti menggunakan skrip pemuatan "malas" atau asynchronous, mengurangkan permintaan awal, dan berhati-hati untuk tidak mempengaruhi pengalaman pengguna. Kaedah ini dapat mengoptimumkan prestasi pemuatan laman web dengan ketara, terutamanya pada rangkaian mudah alih atau lemah

Cara memusatkan div secara menegak dan mendatar dengan CSS Cara memusatkan div secara menegak dan mendatar dengan CSS Jul 01, 2025 am 01:26 AM

Untuk memusatkan div secara mendatar dan menegak, 1. Gunakan Flexbox: Bekas induk yang dipaparkan: Flex, Justify-Content dan Align-Items sebagai pusat; 2. Gunakan Grid: Kontena induk set paparan: grid, item tempat sebagai pusat; 3. Posisi dan Transformasi Mutlak: Unsur-unsur kanak-kanak ditetapkan kepada mutlak, atas dan kiri adalah 50%, dan kemudian diterjemahkan-50%. Harus diingat bahawa margin: 0Auto hanya dapat mencapai pusat mendatar.

Apakah peralihan CSS Apakah peralihan CSS Jul 01, 2025 am 01:25 AM

Peralihan CSS membolehkan beralih antara nilai atribut CSS melalui animasi yang lancar, yang sesuai untuk senario interaksi pengguna seperti kesan melayang butang, pengembangan menu dan keruntuhan. Penggunaan umum termasuk kesan penutupan butang, kecerunan menu drop-down, kecerunan warna latar belakang, ketelusan imej atau perubahan zum. Sintaks Asas adalah peralihan: Fungsi urutan masa atribut, yang boleh menentukan atribut tunggal atau berganda, atau semua boleh digunakan untuk mewakili semua atribut, tetapi ia harus digunakan dengan berhati -hati. Fungsi masa seperti kemudahan, linear, dan mudah mengawal keluk kelajuan animasi, dan juga boleh disesuaikan oleh padu-bezier. Adalah disyorkan untuk mengutamakan kelegapan dan mengubah prestasi yang lebih baik, digabungkan dengan @media (lebih suka-

Huraikan perbezaan antara rendering cetek dan penuh dalam ujian React. Huraikan perbezaan antara rendering cetek dan penuh dalam ujian React. Jul 06, 2025 am 02:32 AM

Candangrenderingtestsacomponentinisolation, tanpa kanak -kanak, manakala yang terkandung di dalamnya

Apakah kepentingan komponen StrictMode dalam React? Apakah kepentingan komponen StrictMode dalam React? Jul 06, 2025 am 02:33 AM

StrictMode tidak menjadikan sebarang kandungan visual dalam React, tetapi ia sangat berguna semasa pembangunan. Fungsi utamanya adalah untuk membantu pemaju mengenal pasti masalah yang berpotensi, terutama yang boleh menyebabkan pepijat atau tingkah laku yang tidak dijangka dalam aplikasi yang kompleks. Khususnya, ia bendera kaedah kitaran hayat yang tidak selamat, mengiktiraf kesan sampingan dalam fungsi yang diberikan, dan memberi amaran tentang penggunaan refapi rentetan lama. Di samping itu, ia boleh mendedahkan kesan sampingan ini dengan sengaja mengulangi panggilan ke fungsi tertentu, dengan itu mendorong pemaju untuk memindahkan operasi yang berkaitan ke lokasi yang sesuai, seperti cangkuk useeffect. Pada masa yang sama, ia menggalakkan penggunaan kaedah ref yang lebih baru seperti useref atau callback ref dan bukannya String Ref. Untuk menggunakan stri dengan berkesan

Vue dengan panduan integrasi typescript Vue dengan panduan integrasi typescript Jul 05, 2025 am 02:29 AM

Buat projek-projek yang dibolehkan TypeScript menggunakan Vuecli atau Vite, yang boleh dengan cepat dimulakan melalui ciri pemilihan interaktif atau menggunakan templat. Gunakan tag dalam komponen untuk melaksanakan jenis kesimpulan dengan definecomponent, dan disyorkan untuk mengisytiharkan secara jelas alat peraga dan memancarkan, dan menggunakan antara muka atau jenis untuk menentukan struktur kompleks. Adalah disyorkan untuk melabelkan jenis label secara eksplisit apabila menggunakan REF dan reaktif dalam fungsi persediaan untuk meningkatkan kecekapan kod dan kecekapan kerjasama.

See all articles